sortes de Sprites ?...Et tout ça depuis le TI-Basic !

Hé bien , après vous avoir proposé une modeste routine de Sprites (v1) 10x10 en 16 couleurs
(viewtopic.php?f=12&t=18327),
je vous propose maintenant la version 2 :

définition/affichage de sprites 36 couleurs, au format customisable (d' 1x1 jusqu'à 35x35 pixels) agrémentée d'autres fonctions pour effacer/remplir l'écran de la couleur de votre choix,
afficher/redéfinir la palette des 36 couleurs.
Sprite v2 Téléchargeable ici : archives_voir.php?id=539203
Commençons d'abord par l'installation...Transférez simplement ces fichiers :
defpal.8xp
defspr.8xp
affspr.8xp
effecr.8xp (optionnel)
affpal.8xp (optionnel)
PALETTE.8xp (optionnel)
Voici les fonctions dans le détail:
1) DEFPAL permet de définir une palette standard de 36 couleurs (ou d'en redéfinir tout ou partie)
- Code: Select all
{couleur0,couleur1,couleur2:Asm(prgmDEFPAL
Voici les 256 couleurs disponibles pour redéfinir la palette:

Si ce qui précède Asm(prgmDEFPAL s'avère ne pas être une liste...
- Code: Select all
0:Asm(prgmDEFPAL
- Code: Select all
"":Asm(prgmDEFPAL
Alors rien n'est redéfini : on se contente donc de la palette standard
(dont voici un aperçu: )

2) DEFSPR permet de définir un Sprite et ses dimensions (du format 1x1 jusqu'à 35x35 pixels)
Son numéro, sa largeur et sa hauteur seront mentionnés en entête de cette manière:
- Code: Select all
"0 C30123456789AB
Ans+"CDEFGHIJKLMN
Ans+"OPQRSTUVWXYZ
Asm(prgmDEFSPR
Petite précision: pour pouvoir spécifier au moyen d'un seul caractère la couleur (entre 0 et 35) de chaque pixel composant le sprite, on étend la notation héxadécimale en allant jusqu'à la dernière lettre de l'alphabet (A=10....Z=35) .
25200 octets (env. 24,6 Ko) sont attribués au stockage des sprites, il y a donc de la marge !
à noter qu'un sprite prend en mémoire (2+largeur*2*hauteur) octets, on peut donc stocker jusqu'à 10 sprites 35x35

3) AFFSPR permet l'affichage d'1 ou plusieurs Sprites.
- Code: Select all
{0,100,200,1,0,0:Asm(prgmAFFSPR


-d'abord DEFPAL (obligatoire, même si l'on ne veut pas redéfinir!)
-puis DEFSPR (respecter l'ordre croissant : sprite0,sprite1,sprite2...)
-enfin AFFSPR
EFFECR et AFFPAL sont optionnels, ils peuvent être utilisés où et quand vous le souhaitez...
4) EFFECR permet d'effacer/remplir d'une couleur (entre 0 et 35) tout l'écran (au choix parmi la palette)
- Code: Select all
0:Asm(prgmEFFECR
5) AFFPAL permet d'afficher à l'écran les 36 couleurs composant la palette en cours (pas de paramètre nécessaire)
- Code: Select all
Asm(prgmAFFPAL
Le fichier 36couleurs.jpg joint également, représente la palette standard.
Voilà! J'espère que vous allez bien vous amuser !!!

Merci à Epharius, Mateo, PT, DjOmnimaga pour les conseils, astuces, et informations !!
