Couleur dynamique

Signaler
Messages postés
4
Date d'inscription
vendredi 27 juin 2003
Statut
Membre
Dernière intervention
29 juin 2003
-
Messages postés
19
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
9 juin 2005
-
Bonjour,
je cherche un moyen de contrôler la couleur d'un symbole à partir d'un fichier externe.

En fait, j'ai un objet d'une certaine couleur et je voudrais lui assigné une autre couleur à partir d'une variable dans un fichier externe xml ou autres...

merci pour votre aide

9 réponses

Messages postés
40
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
6 mars 2006

première étape, récupérer la valeur depuis le fichier externe.
Soit avec un xlm et le load, soit avec un loadVariable, ... peu importe.
Faut que la couleur que tu récupères du fichier externe soit un nombre. Pour savoir a quel nombre correspond quelle couleur, c'est simple, c'est comme en html : 0x0000FF c'est du bleu, 0x00FF00 du vert et 0xFF0000 du rouge.
Imaginons que t'aies un clip qui est bleu et que tu veuilles le transformer (par le pouvoir du crane ancestral, Transformation !!!!!) en clip vert, voili quoi qu'il faut faire :

FICHIER TXT : (pas propre, mais le but ici c pas le xml)
&couleur=0x00FF00&

FICHEIR FLA :

// on charge le fichier texte
this.loadVariables(fichier_texte.TXT) ;

/* ici on attend d'une manière ou d'une autre que
le fichier texte soit chargé. Ave cun onLoad par xple */

// on transforme la couleur récupérée en nombre
var maCouleurExterne = Number(couleur) ;

// on crée l'objet Color qui va servir à ColorIER
// pour ceux qui auraient pas copris, monCLipBleu est le clip
// à colorier :)
var objColor = new Color(_root.monClipBleu) ;

// Ben maintenant, on applique la couleur
objColor.setTransform(maCouleurExterne) ;

Et la, normalement, ton clip bleu est devenu vert...
Messages postés
4
Date d'inscription
vendredi 27 juin 2003
Statut
Membre
Dernière intervention
29 juin 2003

Merci bcp pour ton aide !
Peux-tu me préciser exactement la manière de placer le code sur le symbole qui doit changer de couleur, sur la Timeline et sur le fichier externe.

merci
Messages postés
40
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
6 mars 2006

En fait, la totalité du code que j'ai écrit doit se mettre sur la timeline.
Mis à part, bien sur, le $couleur=0x00FF00&, qui doit se trouver dans dans le fichier externe.

Il n'y a aucun code a mettre dans un symbole ou surun e de ses isntances.
Messages postés
4
Date d'inscription
vendredi 27 juin 2003
Statut
Membre
Dernière intervention
29 juin 2003

voilà ce que j'ai mis dans la time line :

loadVariables("color.txt", "bloccolortxt");
var maCouleurExterne = Number(couleur);
var objColor = new Color(_root.bloccolortxt);
objColor.setTransform(maCouleurExterne);

voilà ce que j'ai mis dans mon fichier "color.txt" :
$couleur=0x00FF00

ça doit pas être ça !
Messages postés
40
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
6 mars 2006

Oups, c'est normail que ca marche pas..
La fonction, c'est pas setTransform, mais setRGB... Désolé, faut d'étourderie...

A part cette raison la, il peut y avoir deux raisons qui font planter tout ca :
1- tu a mis un retour a la ligne apres 0x00FF00 dans ton fichier texte. Au cas ou, rajoute un 'et commercial' (&) derrière le dernier zéro.

2- le fichier color.txt n 'a pas le temps de se charger.
Pour ca, faut que t'attendes l'évènement onLoad pour être sur qu'il soit chargé.

Voila un code qui marche chez moi :
this.onData = function() {
if (couleur != undefined) {
var maCouleurExterne = Number(couleur);
var objColor = new Color(bloccolortxt);
objColor.setRGB(maCouleurExterne);
}
}
this.loadVariables("color.txt");


Pour quil marche, faut mettre ce code sur la scene (adns le timeline), et créer un clip que tu appelles bloccolortxt, sur la scene aussi.
Le fichier color.txt DOIT contenir : &couleur=0x00FF00&

Voili voila.
J'aurais bien mis le fichier en attachement, mais je sais pas trop si on peut sur ce forum...
Messages postés
4
Date d'inscription
vendredi 27 juin 2003
Statut
Membre
Dernière intervention
29 juin 2003

OK Génial, tout fonctionne !
Encore un grand grand merci à toi
Messages postés
44
Date d'inscription
dimanche 27 avril 2003
Statut
Membre
Dernière intervention
24 septembre 2006

Est-il possible de modifier l'effet d'un clip ?
Je m'explique, dans Flash, ya des effets pour les clips. L'effet qui m'interresse c'est "Avancé", où on peu modifier correctement la teinte, balance de couleur et Alpha.
Comme puis-faire pour mofier ces parametres par ActionScript comme plus haut ?

Merci d'avance.

[rouge]
Aventuriers de Troy - Un monde persistant pour Neverwinter Night !/rouge
Messages postés
1
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
11 septembre 2004

Bonjour
Voila ca ne marche pas chez moi la couleur change mais c'est jjrs du noir pourrais je avoir le code s'il vous plait je désespère
Messages postés
19
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
9 juin 2005

bonjour
bon voila le petit problème, j'ai bien la reponse plus haut mais il affiche pas la couleur il met par defaut noir.A la base mon clip est de couleur cyan pour bien voir s il y a un changement. couleur final rouge, et je suis correctement paramétré a moin que cela vienne de la versin sous la quel je doi travailler (par obligation) flash 5
voila mon code actuel dans mon calque ation sur la timeline

var CouleurClip = Number(couleur);
var objClipColor = new Color(couleur_fond_clip_mc);
objClipColor.setRGB(CouleurClip);


this.loadVariables("images/variables.txt");

et dans mon fichier externe c'es variables.txt placé dans un dossier inferieur (par obligation)
dedans j'ai ca

&texte_titre =BIENVENUE&
&couleur=0x00FF00&
&id=215&

j'ai dautre variable pour text (le chargement de txt marche correctement meme l'afichage du N° de couleur)

Je vous remercie et j'attend un reponse si vous avez une idée.