Swf loader

Fermé
proactech Messages postés 3 Date d'inscription jeudi 19 juin 2014 Statut Membre Dernière intervention 27 juin 2014 - 27 juin 2014 à 11:57
 famfrit - 27 juin 2014 à 18:34
Bonjour tt le monde,
j'ai un petit souci je travail avec flash pro CC et j'ai créé une interface qui contient 4 boutons chaque bouton en clickant dessus fait apparaître un swf loader dans un clip le problême que j'ai c comment faire pour arrêter l'animation et la faire disparaître quand je click sur l'autre bouton parce que là quand j'appuie sur le premier bouton l'annimation s'affiche et quand j'appuie sur le deuxième ya la deuxième animation qui apparaît mais sur la première et ça devient comme une salade voilà le code:
stop();
btn1_mc.buttonMode = true;
btn2_mc.buttonMode = true;
btn3_mc.buttonMode = true;
btn4_mc.buttonMode = true;
btn1_mc.addEventListener(MouseEvent.ROLL_OVER, onButtonOver);
btn1_mc.addEventListener(MouseEvent.ROLL_OUT, onButtonOut);
btn2_mc.addEventListener(MouseEvent.ROLL_OVER, onButtonOver);
btn2_mc.addEventListener(MouseEvent.ROLL_OUT, onButtonOut);
btn3_mc.addEventListener(MouseEvent.ROLL_OVER, onButtonOver);
btn3_mc.addEventListener(MouseEvent.ROLL_OUT, onButtonOut);
btn4_mc.addEventListener(MouseEvent.ROLL_OVER, onButtonOver);
btn4_mc.addEventListener(MouseEvent.ROLL_OUT, onButtonOut);

function onButtonOver(e:MouseEvent):void
{
e.currentTarget.gotoAndPlay("over");
}

function onButtonOut(e:MouseEvent):void
{
e.currentTarget.gotoAndPlay("out");
}

import flash.events.Event;

btn1_mc.addEventListener(MouseEvent.CLICK, functionClick);
btn2_mc.addEventListener(MouseEvent.CLICK, functionClick1);
btn3_mc.addEventListener(MouseEvent.CLICK, functionClick2);
btn4_mc.addEventListener(MouseEvent.CLICK, functionClick3);

function functionClick(evt:Event):void
{
var loadit = new Loader();
loadit.load(new URLRequest("scene1.swf"));
addChild(loadit);

};

function functionClick1(evt:Event):void
{
var loadit = new Loader();
loadit.load(new URLRequest("scene2.swf"));
addChild(loadit);
};

function functionClick2(evt:Event):void
{
var loadit = new Loader();
loadit.load(new URLRequest("TweenLine.swf"));
addChild(loadit);
};

function functionClick3(evt:Event):void
{
var loadit = new Loader();
loadit.load(new URLRequest("Animation.swf"));
addChild(loadit);
};
A voir également:

2 réponses

Salut,

Peut-être que je vais me tromper, parce que ça fait 3 mois que je n'y ai plus touché, et je ne me rappelle plus trop de la syntaxe, mais je pense que tu devrais appeler chacun de tes loaders différemment :

var loadit = new Loader(); ===> var loadit_1, var loadit_2

et on click sur chaque bouton: removeChild(Loadit_2) removeChild(Loadit_3) etc.
+loaditx.stop();

Si ça peut te mettre sur la voie...
0
Salut,

je dirais complétement l'inverse de Sunseeker:

Il faut utiliser la même instance pour charger le .swf ainsi celui ci remplacera le dernier à être chargé(au même niveau dont pas besoin de appendChild).

Ou alors simplement: removeMovieClip() mais pareil là pas besoin d'avoir plusieurs niveaux de loader si le clip joué doit être unique(à la fois).

Bref si ça m'aide à être plus clair:
la fonction déclenche la création de chaque clip dans une nouvelle instance, ce qu'il faut c'est utiliser le même clip pour charger tous les swf externe.
0