SPRITE
<fieldset class="formatter-container formatter-fieldset" style=""><legend>SPRITE</legend><div class="formatter-content">Instruction ou partie d'instruction touchant à la gestion des sprites.
Plusieurs syntaxes sont disponibles.
Cette syntaxe permet d'activer ou non la collision de sprites comme déclencheur d'un sous-programme lancé par un ON SPRITE GOSUB.
Le paramètre STOP sert à retarder le saut au sous-programme (actif au prochain SPRITE ON rencontré).
Cette syntaxe permet de définir l'apparence d'un sprite.
Pour les sprites en 16x16, il est nécessaire de définir une somme de 4 chaînes, chacune définissant un quartier du sprite en question, et respectant l'ordre donné par le tableau suivant :
Les crochets indiquent un contenu optionnel.
Cette syntaxe est utilisée pour afficher un sprite défini à une coordonnée précise à l'écran.
L'option STEP sert à prendre comme origine le dernier point affiché à l'écran.
Si la couleur de sprite est omise, celui-ci prendra la couleur d'écriture définie par COLOR.
</div></fieldset>
Plusieurs syntaxes sont disponibles.
Syntaxe 1 :
| Syntaxe |
|---|
| SPRITE ON SPRITE OFF SPRITE STOP |
Cette syntaxe permet d'activer ou non la collision de sprites comme déclencheur d'un sous-programme lancé par un ON SPRITE GOSUB.
Le paramètre STOP sert à retarder le saut au sous-programme (actif au prochain SPRITE ON rencontré).
Syntaxe 2 :
| Syntaxe |
|---|
| SPRITE$ (numéro de sprite) = chaîne de caractères |
Cette syntaxe permet de définir l'apparence d'un sprite.
Pour les sprites en 16x16, il est nécessaire de définir une somme de 4 chaînes, chacune définissant un quartier du sprite en question, et respectant l'ordre donné par le tableau suivant :
| 1 | 3 |
| 2 | 4 |
Syntaxe 3 :
| Syntaxe |
|---|
| PUT SPRITE numéro de plan du sprite,[STEP](abscisse, ordonnée),[couleur du sprite], numéro de sprite |
Les crochets indiquent un contenu optionnel.
Cette syntaxe est utilisée pour afficher un sprite défini à une coordonnée précise à l'écran.
L'option STEP sert à prendre comme origine le dernier point affiché à l'écran.
Si la couleur de sprite est omise, celui-ci prendra la couleur d'écriture définie par COLOR.
| Exemple récapitulatif |
|---|
| 10 SCREEN 2 20 A$=CHR$()+CHR$()+CHR$() +CHR$()+CHR$() +CHR$()+CHR$()+CHR$() 30 SPRITE$(0)=A$ : SPRITE$(1)=A$ 40 X=10 : Y=10 50 PUT SPRITE1,(100,100),6,1 60 SPRITE ON : I=0 70 ON SPRITE GOSUB 110 80 IF X=100 THEN 100 ELSE PUT SPRITE0,(X+I,Y+I),3,0 90 IF STRIG(0)=-1 THEN I=I+1 : GOTO 80 ELSE 80 100 END |
| Résultat |
|---|
| En appuyant continuellement sur la barre d'espace, le sprite vert va finir par entrer en collision avec le rouge, ce qui entraînera l'arrêt du programme |
</div></fieldset>