|
Tutorial 3: Carga/Descarga de sprites +
Animacion
Como habrán visto en la descarga “Ejemplo
carga binarios”, aquí el Sonic, ya camina con una pequeña animación, y
también esta animado cuando se acerca al borde.
En este ejemplo, 5.bex, solo use comandos
simples que ya habíamos visto en el tutorial numero 1.
El codigo de la intro
dedo=addsprite(4,3)
loadtiles introtile,240,1
loadtiles dedo,12,241
pallettes intro_pal,0,0,16
pallettes dedo_pal,1,0,16
Drawtilesinc 1,10,8,20,12
propsprite dedo,241,1
while joypad()=0:
sleep 10
movesprite dedo,295,205
sleep 10
movesprite dedo,0,0
wend
waitpadup 0
FreeAllSprites
sleep 10
Para el intro, use una imagen de sonic que
se carga con loadtiles intro tile,240,1 , y se muestra con Drawtilesinc
1,10,8,20,12 .
El dedo es un sprite de 4x3 pixeles, que se carga dentro de un bucle while.
Básicamente este bucle lo que dice es:
while joypad()=0: > mientras
no se presione un boton
sleep 10 > espero un tiempo
movesprite dedo,295,205 > muestro el sprite del
dedo
sleep 10 > espero un tiempo
movesprite dedo,0,0 > y lo oculto llevándolo fuera
de pantalla
wend > cierro el bucle
FreeAllSprites > descargo todos los sprites de
pantalla antes de cargar el juego
Veamos la animacion al caminar de sonic
If j.2 Then
x=x-2
If FrameCount < 10 Then
pallettes sonic_r_pal,1,0,16
propsprite sonic_l1,1197,1
movesprite sonic_l1,x,y
ElseIf FrameCount < 20 Then
propsprite sonic_l2,1209,1
movesprite sonic_l2,x,y
ElseIf FrameCount
< 30 Then
propsprite sonic_l3,1221,1
movesprite sonic_l3,x,y
Else
FrameCount = -1
End If
FrameCount++
En la animación de caminar, del ejempo de arriba, se
crea una variable Framecount que va de 0 a 30, y cada 10, carga un nuevo
frame del sonic, y lo mueve 2 pixeles en la direccion que se presione en el
joystick, un codigo muy simple
(El codigo anterior
fue escrito por el forero Tulio Adriano del foro oficial del BasiEgaXorz
)
Pongo otro ejemplo de animacion de sprites,
sensillo al maximo, totalmente explicado, paso a paso en el mismo codigo
|