Un Sprite est une petite image qui est déplacée à
travers l'écran.
Regardez dans des jeux d'arcade, ils en utilisent abondamment
Routine :
Cette routine a été écrite par Movax, elle est
libre d'utilisation à condition que vous citiez le nom de l'auteur.
Cette routine utilise xor pour afficher le sprite. Concrètement
la première fois
le sprite est affiché, la deuxième le sprite est éffacé.
Voyez -ici pour la routine
Un exemple de programme :
.......début standard....
.LIST
#DEFINE coordx 8265h
#DEFINE coordy 8266h
.org 9327h
call _clrLCDFull
call _runIndicOff
call _grbufclr
call _homeup
call _axes
ld a,10
ld (coordx),a
ld a,10
ld (coordy),a
mainloop:
call dsprite
keypress:
ld a,0ffh
out (1),a
ld a,0feh
out (1),a
in a,(1)
cp 253
jp z,left
cp 251
jp z,right
cp 254
jp z,up
cp 247
jp z,down
ld a,0ffh
out (1),a
ld a,0fdh
out (1),a
in a,(1)
cp 191
jp z,quit
jp keypress
left:
call dsprite
ld a,(coordx)
dec a
ld (coordx),a
jp mainloop
right:
call dsprite
ld a,(coordx)
inc a
ld (coordx),a
jp mainloop
down:
call dsprite
ld a,(coordy)
dec a
ld (coordy),a
jp mainloop
up:
call dsprite
ld a,(coordy)
inc a
ld (coordy),a
jp mainloop
dsprite:
ld a,(coordy)
ld e,a
ld a,(coordx)
ld bc,spriteX
call SPRXOR
call _grbufcpy_v
ret
quit:
call _clrLCDFull
call _grbufclr
ret
spriteX:
.db %00010000
.db %00010000
.db %00111000
.db %01111100
.db %11111110
.db %01111100
.db %00111000
.db %00010000
Placez ici la routine de Movax
.end
END