Couleur dynamique

cs_heroes Messages postés 4 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 29 juin 2003 - 27 juin 2003 à 10:29
ozaku Messages postés 19 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 9 juin 2005 - 8 avril 2005 à 15:37
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

theKam Messages postés 40 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 6 mars 2006
28 juin 2003 à 00:51
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...
0
cs_heroes Messages postés 4 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 29 juin 2003
28 juin 2003 à 11:57
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
0
theKam Messages postés 40 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 6 mars 2006
28 juin 2003 à 12:38
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.
0
cs_heroes Messages postés 4 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 29 juin 2003
28 juin 2003 à 13:03
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 !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
theKam Messages postés 40 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 6 mars 2006
28 juin 2003 à 18:27
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...
0
cs_heroes Messages postés 4 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 29 juin 2003
29 juin 2003 à 16:05
OK Génial, tout fonctionne !
Encore un grand grand merci à toi
0
kzimir666 Messages postés 44 Date d'inscription dimanche 27 avril 2003 Statut Membre Dernière intervention 24 septembre 2006
8 avril 2004 à 21:55
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
0
fabolivia Messages postés 1 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 11 septembre 2004
11 sept. 2004 à 13:42
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
0
ozaku Messages postés 19 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 9 juin 2005
8 avril 2005 à 15:37
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.
0
Rejoignez-nous