Les Sprites

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