[83PCE] Des Sprites pour le Basic ! (v2)

Vous ne trouvez pas que ça serait sympa de pouvoir créer et faire évoluer à l'écran toutes
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)
Voici les 256 couleurs disponibles pour redéfinir la palette:
(courtesy of Shaun 'Merthsoft' McFall )
Si ce qui précède Asm(prgmDEFPAL s'avère ne pas être une liste...
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:
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.
IMPORTANT
: afin d'éviter de faire planter la TI83PCE, veuillez respecter cet ordre précis:
-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)
5) AFFPAL permet d'afficher à l'écran les 36 couleurs composant la palette en cours (pas de paramètre nécessaire)
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 !!
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 !!
