FANDOM


Sprites... ¿Que es un sprite?

Son imágenes como pueden ser por ejemplo personajes, objetos del escenario, etc...

Cada sprite es de 32x32.

Para visualizar por ejemplo 4 movimientos de un sprite, el sprite sería de 32x128 (32 x (32+32+32+32)).

Para tener un sprite mas grande, debería de ser de 64x64 o 128x128, etc… y para animarlo, sería múltiplo de su ancho siempre.

No se si ha quedado muy claro, pues esto se entiende cuando empiezas a programar con ellos.

Tabla

Empezamos con el programa.

Creamos una nueva carpeta, con su carpeta de gráficos llamada gfx dentro del source y los dos archivos de Pagfx que utilizamos anteriormente... y empezamos.

Crearemos un sprite de 32x32.

Por ejemplo, un cuadrado amarrillo de 32x32. y otro sprite con 4 frames, por ejemplo, la palabra HOLA, una letra en cada frame, en PNG y 256 colores.

LLevaremos los sprites a la carpeta gfx y abriremos el pagfx.ini y ponemos:


#TranspColor Magenta // el color trasparente seria el margenta, se puede poner cualquiera (en ingles)
por ejemplo, si yo pongo un fondo con varios colores, y una letra amarilla, para que el vacio no se vea se poner de fondo ese color

#Sprites : 
cuadrado.PNG //nombre del sprite
256colors //indica que esta en 256 colores
master //nombre de la paleta(mas adelante lo aprenderemos)
letras.PNG 256colors master //lo mismo para las letras

#Backgrounds :

Este seria el codigo:


#TranspColor Magenta

#Sprites : 
cuadrado.PNG 256colors sprites
letras.PNG 256colors sprites

#Backgrounds :

Ya tenemos nuestros sprites listos. Y ahora el código:


// Includes
#include <PA9.h> // Include de las PA_Lib
#include "gfx/all_gfx.c"
#include "gfx/all_gfx.h"

// Funcion: main()
int main(int argc, char ** argv)
{
PA_Init(); // Iniciamos las PA_Lib
PA_InitVBL(); // Iniciamos VBL

//cargamos la paleta
PA_LoadSpritePal(0, // pantalla
0, // numero de paleta (puede aver varias)

(void*)sprites_Pal); // nombre de la paleta (lo que mencione antes)
//mostramos el cuadrado
PA_CreateSprite(0, // pantalla
0, /* numero de sprite ( de 0 a 127 sprites que soporta ) el 0 estaria al frente de todos,
el 1, encima de todos menos del 0, etc... */

(void*)cuadrado_Sprite, // nombre del sprite
OBJ_SIZE_32X32, // tamaño
1, // modo (1= 256 colores)
0, // numero de paleta
50, 50); // posicion X, Y

//mostramos las letras
PA_CreateSprite(0, // pantalla

1, // numero de sprite
(void*)letras_Sprite, // nombre del sprite
OBJ_SIZE_32X32, // tamaño (el tamaño de cada frame, aunque en total tenga 32 x 128
1, // modo de 256 colores
0, // numero de paleta

90, 50); // posicion X, Y
//animamos el segundo sprite

PA_StartSpriteAnim( 0, // pantalla
1, // numero de sprite
0, // el primer frame que animamos es 0
3, // el ultimo es 3 ya que la animacion tiene 4 frames y el primero seria el 0
1); // velocidad, 1 frames por segundo, por ejemplo 
//Bucle
while (1)
{
PA_WaitForVBL();
}
return 0;
} //Fin de main()

Finalmente así quedaría, uno en animación y el otro sin animar.

Y ya terminamos el ejercicio.

Imagen del ejemplo:

Ej09

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.