Paso 11: Trabajar con fuentes y azulejos
Hasta este punto, hemos hecho un gran trabajo con sprites. Vamos a cambiar los engranajes y mirar las fuentes y azulejos.
Usted podría estarse preguntando, ¿cuál es la diferencia?
- Sprites son objetos de 16 x 16 píxeles que pueden colocarse en cualquier posición de píxel (X e Y) de la pantalla.
- Los azulejos son objetos de 8 x 8 píxeles que pueden colocarse en cualquier posición de la pantalla de 8 x 8.
En otras palabras, podría utilizar azulejos como pequeños duendes y desplazarse por la pantalla, pero la animación de movimiento sería tan suave como sprites reales que sólo puede moverse a través de la pantalla a 8 píxeles por movimiento. Recuerde los azulejos pueden colocarse desde posiciones 0 = 27 a través de la pantalla y 0-31 pantalla.
Más útil para mostrar información de texto al jugador, marcadores, o la creación de fondos para el sprite en los azulejos. En el caso de mi demo de Loderunner que has visto imágenes de, los azulejos se utilizan para la creación de los ladrillos y escaleras que mi sprite héroe corre y sube.
Si no has descargado una copia de GRPHEDIT. BIN y agregado a la tarjeta SD de su compañero Micromite, querrá hacerlo. Es una versión ampliada de SPREDIT. BIN que incluye la posibilidad de cargar la fuente/del azulejo. Archivos FNT. Uso (M) para pasar de sprite modo para azulejo a modo de edición, seguido de (G) para seleccionar un grupo de 16 x 16 de azulejos a editar usando las teclas del cursor de edición. La idea aquí es proporcionar una manera fácil de crear bloques azulejos 16 x 16 (con 4 caracteres) para crear más grande, gráficos para tu fondo de enclavamiento si lo desea.
Puede editar cualquier azulejo en el. Archivo FNT, pero generalmente de una buena idea quedarse con los personajes después de los caracteres en mayúsculas, (a-z en minúsculas) como salen de texto para obtener información en su juego y números para su marcador.
Existen dos subrutinas útiles para visualizar las fuentes y azulejos en la pantalla.
SUB DisplayText textx,texty,color,text$ FOR x = 1 TO LEN(text$) : char = ASC(MID$(text$,x,1)) I2C write PC,0,6,1,200,textx+x,texty,color,char PAUSE 1 :NEXT x END SUB SUB DisplayChar charx,chary,color,char I2C write PC,0,6,1,200,charx,chary,color,char END SUB
La subrutina textoparamostrar le permitirá colocar una cuerda o línea de texto en cualquier posición X e Y.
Ejemplos:
DisplayText 10,5,6,"Hello World" Displaytext 10,5,6,A$
La subrutina DisplayChar hace lo mismo con un número.
Ejemplo:
DisplayText 2,1,5,"SCORE" DisplayChar 11,1,6,score
Estas rutinas son también muy útiles para la depuración de sus programas.
Tenga en cuenta lo siguiente:
DisplayText 2,3,6,"SPRITE X" DisplayText 2,4,6,"SPRITE Y" DisplayText 11,3,6," " DisplayText 11,4,6," " DisplayText 11,3,6,STR$(player_x) DisplayText 11,4,6,STR$(player_y)