Sprites... ¿Que es un sprite?
Son imágenes como pueden ser por ejemplo personajes, objetos del escenario, etc...
Cada esprite es de 32x32.
Para meter por ejemplo 4 movimientos a un sprite el sprite seria de 32x128 (32 x (32+32+32+32)).
Para tener un sprite mas grande, deberia de ser de 64x64 o 128x128, etc, y para animarlo, seria múltiplo de su ancho siempre.
No se si a quedado muy claro, pues esto se entiende cuando empiezas a programar con ellos.
Tabla:
Empezamos!
Nueva carpeta, con su carpeta de gráficos llamada gfx dentro de source y los dos archivos de Pagfx que conocemos 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 :
En total, quedaria así:
#TranspColor Magenta
#Sprites :
cuadrado.PNG 256colors sprites
letras.PNG 256colors sprites
#Backgrounds :
Ya tenemos nuestros sprites listos. Y ahora al código:
// Includes
#include
// 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()
Pues asi quedaria, uno en animación y el otro sin animar.
Y terminó.
Captura:
Descarga:
http://www.megaupload.com/es/?d=KJ9I4O7N
el proximo dia utilizaremos el stilius y el pad para controlar sprites y otras cosas.
Salu2
No queria irme sin explicar esto.
P.D: No hay tarea