Sprites - greenwebsevilla/Next_MS_Engine GitHub Wiki
Spritesets
Al conjunto de sprites en un mismo fichero PNG le llamaremos spriteset. En Next_MS_Engine usaremos como mínimo 2 spritesets diferentes: uno para las animaciones del player (sprite que controlaremos) y otro para los enemigos, objetos y otros sprites que añadamos a gusto (si, podemos crear cosas con sprites).
Cada uno de los spritesets puede contener hasta 64 imágenes de 16x16 píxeles cada una (se numeran de 0 a 63). Esas imágenes se usarán para dibujar los sprites en el juego. El ZX Spectrum Next usa sprites de 16x16, así que es el tamaño mínimo que podemos usar. Para usar tamaños mayores, más adelante veremos como hacerlo.
![]()
El los spritesets que el motor lleva por defecto, se usa el color de fondo (una especie de magenta) como color transparente del sprite, es decir, los píxeles de ese color no se pintan en la pantalla y se verá el fondo del juego (los tiles). Ese color "transparente" tiene una posición en la paleta de colores (en este caso es el color número 227) y se puede cambiar por cualquier otro siempre que luego lo indiquemos en el fichero de configuración del motor (config.bas) que veremos en un capítulo más adelante. De momento, déjalo así y prueba a pintar tus propios sprites sobre ese fondo magenta. Para el resto de pixeles del sprite, podemos usar cualquier color de la paleta que contiene el PNG.
Cuando hayas cambiado algún sprite, por ejemplo el primero, que se usa cuando está parado el player, guarda los cambios y vamos a exportarlo al formato que soporta el Next. Para ello sigue estos pasos en Aseprite:
- Haz click en File->Scripts->SpectrumNext_Spritesheet_Export
![]()
- A continuación aparecerá una ventanita para elegir el tamaño del sprite y el número de colores de la paleta. Deberán valer 16 y 256 respectivamente:
![]()
- Pulsamos OK, y ahora nos pide el número de sprites que vamos a exportar. Por defecto saldrá 64, que es el total que caben en el PNG. Lo dejamos así y pulsamos OK.
- Ahora, tenemos que seleccionar el archivo que vamos a reemplazar. Buscamos la ruta dentro de la carpeta de nuestro proyecto. Debería estar en mi_proyecto/data/spr/player.spr Lo seleccionamos y nos preguntará si queremos sobreescribir. Le damos a "Yes" y luego a "OK" (importante este último click en OK).
- Ya tenemos el spriteset del player actualizado. Para probarlo y ver nuestros cambios, basta con ir a la carpeta principal del proyecto y ejecutar el fichero Launch_Game.bat y se abrirá CSpect con nuestro juego.
Spriteset de enemigos, objetos y demás.
El proceso para modificar y exportar el PNG con los sprites enemigos es idéntico al del jugador. La única diferencia es que debemos sobre escribir esta vez el fichero mi_proyecto/data/spr/enemies_0.spr
Pero aqui está lo bueno:
Podemos crear más de un spriteset para enemigos siempre que los guardemos y nombremos con ese mismo formato:
enemies_X.spr
donde X será un número entero que indique que número de spriteset "enemigo" es.
Por defecto, el motor viene configurado para usar siempre el spriteset 0, es decir, el fichero enemies_0.spr, pero podremos decidir que spriteset de enemigos usar en cada mapa o nivel del juego.
Resumiendo: puedes tener infinidad de enemigos diferentes (al menos estéticamente).
¡Haz la misma prueba!, modifica algún enemigo y exporta el spriteset al formato .spr y comprueba que se ven los cambios en tu juego.