Changer une couleur par une autre dans un ensemble de symboles ???

Changer une couleur par une autre dans un ensemble de symboles ??? - Flash/ActionScript - Programmation

Marsh Posté le 01-09-2006 à 22:01:50    

Comment changer à la volée une couleur par une autre sachant que cette couleur est utilisée de nombreuses fois que ce soit dans des clips, boutons ou graphiques ?  
J'ai essayé le "rechercher et remplacer" mais certains symboles pourtant identiques à d'autres (ceux contenu dans d'autres symboles principalement) ne sont trouvés.
 
Si qq1 à une idée !
Merci !

Reply

Marsh Posté le 01-09-2006 à 22:01:50   

Reply

Marsh Posté le 04-09-2006 à 14:31:25    

up sur programmation !

Reply

Marsh Posté le 04-09-2006 à 20:52:02    

- tu mets une variable à true sur les clips que tu veux changer :
 
mc.changeColour = true;
 
- tu fais une boucle for...in en testant si la variable (le "flag" on dit aussi) est true ou false
 
for(var prop:String in this) {
 
if(this[prop].changeColour) {
 
...
 
}
 
}
 
- dans la boucle if, tu changes ta couleur :
 
...
var color:Color = new Color(this[prop]);
color.setRGB(0xff9933);
...
 
si l'objet à coloriser est à l'intérieur d'un autre, étend le parcours de manière recursive à tous les objets de ta scène.
 
c'est tout simple, d'où le délai, mais je vois venir gros comme une maison que tu vas me demander le code du parcours récursif :D

Reply

Marsh Posté le 04-09-2006 à 21:17:20    

Je prends le code récursif aussi si tu veux bien ^^
Mais sinon y a t-il moyen de le faire en sauvegardant le fichier avec les couleurs modifiées ? Comme un rechercher remplacer ...
 
Merci en tout cas !

Reply

Marsh Posté le 04-09-2006 à 21:47:51    

tu peux le faire en gardant passant la couleur comme une variable :
 
var coul:Number = 0xff9933;
 
puis
 
...
color.setRGB(coul);
...
 
ton swf sera ok. reste à changer coul un certain nombre de fois, re-compiler des swf différents et tu obtiens un swf par couleur.
 
et tu n'auras pas le code récursif de moi, désolé :D


Message édité par craps_youpla le 05-09-2006 à 00:15:06
Reply

Marsh Posté le 19-09-2006 à 21:06:03    

Je pensais, comment tu fais pour atteindre la couleur des boutons (celle quand ils sont survolés notamment) ?
Et peut-on définir une variable à la place de la couleur directement à la main dans Flash ou faut-il forcément passer par de l'actionscript ?
 
Merci !


Message édité par Mac Fruitos le 19-09-2006 à 21:54:33
Reply

Marsh Posté le 19-09-2006 à 23:45:25    

Au passage j'ai tenté une méthode récursive avec une fonction qui s'auto-appelle :
 

Code :
  1. function change_couleur (mon_clip)
  2. {
  3. changement de couleur ...
  4. for(var prop:String in mon_clip)
  5. {
  6. change_couleur(prop);
  7. }
  8. }
  9. change_couleur(this);


 
Mais ça ne marchait pas trop et surtout ça ne permettait pas de parcourir toutes les images et dès la fin de la première interpolation tout redevenait comme avant.
 
Si qq1 voit comment parcourir le clip entièrement...

Reply

Marsh Posté le 20-09-2006 à 11:02:58    

J'ai corrigé ma fonction et ça marche.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed