Bonjour,
J'ai un souci en AS3 (voir plusieurs.. mais une chose à la fois !)
J'ai réalisé un menu dans un swf principal dont le but est de charger des swf externes.
Tout marche nickel (voir le code si dessous) quand je clique sur « enfant1 » le swf correspondant se charge et idem pour « enfant 2 »
Le souci est que quand je clique plusieurs fois les swf précédemment chargé restent apparents hors que voudrai les faire disparaître pour n'afficher que le swf demandé.
Je pense que le souci est dans ma function « clicMenu » (en fin de code) mais étant encore très court en AS3, j'ai testé plusieurs solutions sans succès.
Merci d'avance Hervé
Pour info, pour la réalisation de ce menu, ma source : http://pratiqueactionscript3.bytearray.org/
Voici le code complet :
//----------------- Le MENU-----------------------------
// import des classes tween et Elastic pour le type de mouvement
import fl.transitions.Tween;
import fl.transitions.easing.Elastic;
// les rubriques
var legendes:Array = new Array ( "enfant1", "enfant2");
// les liens
var liens:Array = new Array ("enfant1.swf", "enfant2.swf")
//Création du conteneur
var conteneur:Sprite = new Sprite();
conteneur.x = 100;
conteneur.y = 10;
addChild ( conteneur);
function creeMenu():void {
var Ing:int = legendes.length;
var monBouton:Bouton;
for ( var i:int = 0; i<Ing; i++)
{//création des occurences du symbole bouton
monBouton = new Bouton();
trace (legendes[i]);
//variable referençant le clip utilisé pour l'état haut
var etatHaut:MovieClip = MovieClip ( monBouton.upState);
// affectation des legendes des boutons
etatHaut.maLegende.text = legendes[i];
// affectation du clip pour tous les états
monBouton.upState = etatHaut;
monBouton.downState = etatHaut;
monBouton.overState = etatHaut;
monBouton.hitTestState = etatHaut;
//Stockage des liens associé
monBouton.lien = liens[i];
// disposition des instances.
monBouton.Tween = new Tween ( monBouton, "y" , Elastic.easeOut, 0, 20 +i * (monBouton.height + 10), 3, true);
// un objet tween est crée pour l'effet de survol
monBouton.tweenSurvol = new Tween ( monBouton, "scaleX", Elastic.easeOut, 1, 1, 2, true);
conteneur.addChild ( monBouton);
}
}
creeMenu();
// capture de l'evenement MouseEvent CLICK auprès du conteneur
conteneur.addEventListener ( MouseEvent.CLICK, clicMenu, true);
conteneur.addEventListener( MouseEvent.ROLL_OVER, survolBouton, true);
conteneur.addEventListener( MouseEvent.ROLL_OUT, quitteBouton, true);
//Le survol des boutons
function survolBouton ( pEvt:MouseEvent):void {
var monTween:Tween = pEvt.target.tweenSurvol;
monTween.continueTo(1.1, 2);
}
// fin de survol des boutons
function quitteBouton (pEvt:MouseEvent):void {
var monTween:Tween = pEvt.target.tweenSurvol;
monTween.continueTo(1, 2);
}
//chargement des SWF externe
function clicMenu ( pEvt:MouseEvent ):void {
var chargeur:Loader = new Loader();
var adresse:URLRequest = new URLRequest(pEvt.target.lien);
chargeur.load(adresse);
chargeur.x = 190;
chargeur.y = 0;
addChild(chargeur)
}