OVH Cloud OVH Cloud

Problème de variable

3 réponses
Avatar
Zaki
Salut,
Je suis entrain de faire un site, mais je suis débutant. voilà mon problème:
j'ai plusieurs boutons, quand je clique sur l'un d'eux, il y'a une animation
qui s'exécute, ensuite je fais un LoadMovieNum selon le bouton cliqué.
par exemple, si je clique sur le bouton N°1 il éxécute cette animation,
ensuite il me load le Movie n°1. Si je clique sur le bouton N°2 il éxécute
l'animation ensuite il me load le Movie n°2 et ainsi de suite. Je pense
qu'on doit utiliser les variables, non? Pouvez vous m'aider et m'endire
plus, le tutoriaux soyez les bienvenus !!
En attente à votre réponse ...

3 réponses

Avatar
Yann Bayo
Salut,
Rien de tres difficile, en fait, il faut que tu charges tes anims dans le mm
niveau...comm ?a t'?vitera d'avoir ? ins?rer une commande qui fait disparaitre
l'anim pr?c?dente charg?e...
Donc sur chacun de tes boutons, tu met l'actioin suivante :

on (release) {
if (hitTest(_root._xmouse, _root._ymouse)){
loadMovieNum("le_nom_de_ton_clip.swf", 30);
}

et voil? l'affaire est dans le sac...
maintenant si tu veux faire diparaitre un clip laoder, tu met :

on (release) {
level50._visible = false;
}

Bon, si c pas clair, dis le j'essairai de te trouver un tut.
Bye
Yann
Avatar
Zaki
Salut,
En fait tu ne m'as pas vraiment compri, ou bien j'ai pas bien compri ta
réponse...
Je t'explique:
il y'a un bouton "produits" et une bouton "contact" et un bouton "clients".
quand je clique sur le bouton "produits" j'ai une animation (une sorte de
transition) ensuite j'arrive à la frame qui contient le script qui load
"produit.swf". Si je clique sur "contact" la même transition est animée,
mais ensuite je dois arriver sur la frame oû il y'a le script qui me load le
clip "contact.swf". et pareil pour "clients".
Moi je veux généraliser, par exemple si je clique sur "produits" je voix
l'animation(transition) ensuite je transmet une variable à la frame oû il
y'a le script pour loader le clip "$variable.swf" directement, pour éviter
le double travail. par exemple je clique sur "contacts" la valeur de
variable est donc $variable=contact donc il me load $variable.swf (soit
contact.swf)... et pareil pour les autres.
J'éspère que maintenant tu as une idée de ce que je veux dire et j'éspère
que j'aurai de l'aide de votre part.
En attente à votre réponse...

Merci
Zaki
Avatar
E-stampida
Voici un code, comme tu n'as pas précisé de version flash, celui-ci est pour
flash mx 2004...
A toi d'adapter selon tes besoins, ce code créant TOUT dynamiquement,
autrement dit, si tu fais un copier-coller dans un nouveau flash, tu auras
des boutons qui fonctionnent, faut juste des swf à charger.

Si tu utilises flash mx, il ne faut pas définir le type de variable donc,
exemple:

var monTableau:Array = ...
devient
var monTableau= ...

En flash 5, ça ne fonctionnera pas.

Le code :

var monTableau:Array = new Array("Accueil", "Produits", "Contact",
"Clients", "Liens");
// Formatage du texte dynamique
var myFormat:TextFormat = new TextFormat();
myFormat.color = 0x666666;
myFormat.font="verdana";
myFormat.size;
// Formatage du texte dynamique en mode "RollOver"
var myRolloverFormat:TextFormat = new TextFormat();
myRolloverFormat.color = 0xFF6600;
myRolloverFormat.font="verdana";
myRolloverFormat.size;
// Crée un clip vide qui contiendra le media externe à charger et le place à
droite des boutons
this.createEmptyMovieClip("myMediaContainer", this.getNextHighestDepth());
this.myMediaContainer._x2;
// Crée un clip vide "myButton"
this.createEmptyMovieClip("myButton", this.getNextHighestDepth());
// fonction de création du design des boutons
function createButton(increment:Number){
//design
this["myButton"+increment].myButtonDesign.beginFill(0xFEFEFE);
this["myButton"+increment].myButtonDesign.lineStyle(1, 0x999999, 100);
this["myButton"+increment].myButtonDesign.moveTo(0, 0);
this["myButton"+increment].myButtonDesign.lineTo(150, 0);
this["myButton"+increment].myButtonDesign.lineTo(150, 20);
this["myButton"+increment].myButtonDesign.lineTo(0, 20);
this["myButton"+increment].myButtonDesign.lineTo(0, 0);
this["myButton"+increment].myButtonDesign.endFill();
//champs texte : creation
this["myButton"+increment].createTextField("myText",
this["myButton"+increment].getNextHighestDepth(), 1, 1, 150, 30);
//champs texte : assignation du texte
this["myButton"+increment].myText.text = monTableau[increment];
this["myButton"+increment].myText.setTextFormat(myFormat);
// Crée le code "onRelease" pour chaque bouton
this["myButton"+increment].onRelease = function() {
//charge le media en passant au préalable toutes les lettres en minuscule
this._parent.myMediaContainer.loadMovie(this.myText.text.toLowerCase()+".swf");
};
// RollOver/RollOut
this["myButton"+increment].onRollOver = function() {
this.myText.setTextFormat(myRolloverFormat);
};
this["myButton"+increment].onRollOut = function() {
this.myText.setTextFormat(myFormat);
};
}
// Crée une boucle (en rapport avec la longueur du tableau) qui créera les
boutons dynamique et leur assignera les noms et variables
for (var i:Number = 0; i<=monTableau.length-1; i++) {
this.myButton.duplicateMovieClip("myButton"+i, this.getNextHighestDepth(),
{_x:0, _y:22*i});
// Crée un clip vide "myButtonDesign" qui contiendra le design du bouton
this["myButton"+i].createEmptyMovieClip("myButtonDesign",
this["myButton"+i].getNextHighestDepth());
createButton(i);
}
// enlève le clip de base du bouton qui ne sert plus à rien.
this.myButton.removeMovieClip();

--
e-S-tampida
--
eLearning v2.1.2 beta 4 (still beta testing)
http://development.bbri.be/elearning2

Xperimentz
http://development.bbri.be/ictp/xperimentz/
---------------------------------------------------------------------------------------------------------------------------
"Zaki" wrote in message
news:dcmk7n$76b$
Salut,
En fait tu ne m'as pas vraiment compri, ou bien j'ai pas bien compri ta
réponse...
Je t'explique:
il y'a un bouton "produits" et une bouton "contact" et un bouton
"clients".
quand je clique sur le bouton "produits" j'ai une animation (une sorte de
transition) ensuite j'arrive à la frame qui contient le script qui load
"produit.swf". Si je clique sur "contact" la même transition est animée,
mais ensuite je dois arriver sur la frame oû il y'a le script qui me load
le
clip "contact.swf". et pareil pour "clients".
Moi je veux généraliser, par exemple si je clique sur "produits" je voix
l'animation(transition) ensuite je transmet une variable à la frame oû il
y'a le script pour loader le clip "$variable.swf" directement, pour éviter
le double travail. par exemple je clique sur "contacts" la valeur de
variable est donc $variable=contact donc il me load $variable.swf (soit
contact.swf)... et pareil pour les autres.
J'éspère que maintenant tu as une idée de ce que je veux dire et j'éspère
que j'aurai de l'aide de votre part.
En attente à votre réponse...

Merci
Zaki