Salut salut. La première chose à laquelle
on pense quand on parle de changer la couleur d’un objet, c’est d’utiliser le coefficient RGB. C’est pas mal mais très limité. Un
truc qui serait super bien c’est de pouvoir définir chaque teinte comme on veut.
Dans ce court tutoriel, on va voir qu’il est
très simple de faire ça à l’aide d’une petite boucle.
Voici notre personage, Champy :
(créé à partir d’un
sprite fait par Kloug). Il comporte 9 couleurs et a une valeur modifiable "C_Set" à 0.
Et ça c’est notre Palette :
. La ligne 0 a les mêmes
couleurs que Champy. Puis sur les suivante on défini les couleurs qui viendront les remplacer. En gros, chaque ligne correspond à
un set de couleur pour Champy.
Au début, le set de couleurs de Champy est la ligne 0. Quand on cliquera dessus on veut que chaque
couleur soit remplacée par celle d’en dessous. Et ainsi de suite.
Par exemple, pour changer la couleur 3 de la ligne 0 par la
couleur 3 de la ligne 1, on utilise Remplacer la couleur (Champy, Anination
► Remplacer la couleur) : RGBAt( "Palette", 3, 0 ) (Palette, Extraire RVB
en…) par RGBAt( "Palette", 3, 1 ).
Faire ça pour les 9 couleurs et avec les 4 sets ça fait pas mal de lignes d’actions à
faire, alors à la place on va utiliser une boucle.
C’est là que la valeur C_Set va nous servir, ça donne
RGBAt( "Palette", LoopIndex("Color"), C_Set( "Champy" ) ) et
RGBAt( "Palette", LoopIndex("Color"), (C_Set( "Champy" ) + 1 ) mod 4 )
(modulo n permet d’avoir le reste d’une division d’un nombre par n, ici 4 modulo 4 donne 0, comme ça
après le set 3 on reviens à 0).
On n’oublie pas, après la boucle de fixer la valeur C_Set à
( C_Set( "Champy" ) + 1 ) mod 4.
Et là, un petit effet sympa : Super-Champy