Fandom

Scratchpad

TEMA5: Sprites

215,674pages on
this wiki
Add New Page
Discuss this page0 Share

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.

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

Also on Fandom

Random wikia