Messagerie


Changer la couleur d’un objet

Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 1 août 2017 à 19:20
Préambule
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.

Les objets
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.

Le principe
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 ).

La boucle
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 https://youtu.be/i_wy8fMjDRo
Modifié le vendredi 23 août 2019 à 12:02 par Seyjin
Pièces jointes
890 messages

mercredi 9 août 2017 à 14:25
Merci Seyjin. Par contre, ceci n'est bien valable que sur PC ? Car j'avais utilisé çà sur Android et cela ne fonctionnait pas.
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
mercredi 9 août 2017 à 14:48
Ha ça je sais pas. Je vais aller tester. Mais c’est bizarre que ça ne marche pas.

[edit] Ha en effet ça n’a pas marché.
Modifié le vendredi 23 août 2019 à 12:02 par Seyjin
Valeth
457 messages
Fusion 2.5
Fusion 2.5+
lundi 9 octobre 2017 à 09:10
Merci Seyjin !

Je suis tombé sur ton tuto totalement par hasard en farfouillant sur le comptoir, après de nombreux mois d’absence…

Ce système de changement de couleur est vraiment bien trouvé ! Gg à toi.  :bravos

Cela ouvre la possibilité à pas mal de truc :
- Que le joueur puisse changer la couleur de fond de son menu.
- Dans un jeu de karate, la propension de changer sa ceinture facilement. ^^
- Ou encore, un jeu à la RM2k (mais pas que) avec la personnalisation de la tenue de son héros…


Ps : Les pixel-art dans ta vidéo sont super classes. On se croirait dans un jeu Game-boy color.
Modifié le vendredi 23 août 2019 à 12:02 par Valeth
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 9 octobre 2017 à 09:29

Ce système de changement de couleur est vraiment bien trouvé ! Gg à toi.  :bravos


Merci. J’ai découvert qu’on pouvait changer les couleurs récemment. J’ai toujours voulu faire ça depuis mes premiers pas dans Klick & Play (l’influence des jeux Sonic sur Megadrive 😉).
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 29 visiteurs au total

Derniers messages