Bonjour,

Je suis plus que moyen en as2 et je serai le plus heureux des hommes si l'on m'aidait à y voir clair dans un cas - pour moi - complexe.
Voici la description de mon animation (assez simple dans le principe) :

- la page est divisé en deux par des emptymovieclip qui contiennent des clips chargés par des attachmovie ;
- la partie de gauche est constituée de boutons qui appellent les clips de la partie de droite ;
- le principe est tout à fait fonctionnel (testé sans ce qui pose problème, à savoir.

MAIS :

- comme les boutons appellent des clips quasi identiques, je cherche à réaliser une gestion de variable permettant de n'avoir qu'une seule fois la fonction attachmovie, implémentée par les variables. Et là, rien à faire, je n'y parviens pas.
Voici ce que j'ai essayé.

1/création de boutons avec des variables :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//boutons avec variable
var clip:String
var clipcree:String
 
 
 
clipmenu.barremenu.boutonY.onRelease=function(){
   clip = "clip_Y";
   trace (clip); //COMMENTAIRE : ici les trace fonctionnent bien
   clipcree = "Y";
   trace (clipcree);
   chargerclip;
}
 
clipmenu.barremenu.boutonX.onRelease=function(){
   clip = "clip_X";
   clipcree = "X";
   chargerclip;
}
2/appel de la fonction "chargerclip" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
//fonction appelée par les boutons
function chargerclip () {
   trace (clip); //COMMENTAIRE : ici les trace ne fonctionnent pas, la fonction non plus
   trace (clipcree);
   trace ("bon");
   contener.attachMovie("clip","clipcree",contener.getNextHighestDepth());
 
   var tween_handler:Tween = new Tween(contener.clipcree, "_alpha", Strong.easeIn, 0, 100, 20, false);
   tween_handler.onMotionFinished = function() {
 
	var avantderniereprof:Number = contener.getNextHighestDepth() - 2;
	var avantdernierclip:MovieClip = contener.getInstanceAtDepth(avantderniereprof);
	trace (avantdernierclip);
	trace (avantderniereprof);
	(avantdernierclip).removeMovieClip();
	contener.clipcree.swapDepths(0)
	trace (contener.clipcree.getDepth());
        };
NB : elle n'est pas entière ici car il y a un bouton dans chaque clip appelé - j'ai préféré faire un envoi light pour ne pas rendre fou le visiteur !

Je ne sais pas si ma logique est bonne, mais j'avais tenter des if ; if else... qui ne donnaient rien non plus...

Quelqu'une ou quelqu'un a-t-il Ze solution au problème ?

Merci beaucoup,

Cyril