2015-12-04 5 views
-1

j'ai ce code sur ma principale swf:AS3 obtenir la variable de scénario racine

var btnLingua : Array = new Array(ITA,DE,LAT,EL); 
var lingua:String = "ITA"; 

for(var i:int=0;i<btnLingua.length;i++){ 
    btnLingua[i].addEventListener(MouseEvent.CLICK,settaLingua); 
} 

function settaLingua(event:MouseEvent){ 
    trace("la lingua selezionata è : " + event.target.name); 
    lingua=event.target.name; 
    caricamento("scenaProva.swf"); 
} 


var fl_Loader:Loader; 

function caricamento(myURL:String):void { 
    if(fl_Loader != null){ 
     contenitore.removeChild(fl_Loader); 
     fl_Loader.unloadAndStop(); 
     fl_Loader = null; 
    } 
    fl_Loader = new Loader(); 
    fl_Loader.load(new URLRequest(myURL)); 
    fl_Loader.contentLoaderInfo.addEventListener(Event.COMPLETE, caricamentoCompleto); 
} 

function caricamentoCompleto(e:Event):void { 
    contenitore.addChild(fl_Loader); 
    fl_Loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, caricamentoCompleto); 
} 

et ceci sur le movieClip:

trace("numero di elementi nella pagina : "+numChildren); 
trace(MovieClip(root).lingua); 
var lingua : String = MovieClip(root).lingua; 

for(var i:int = 0; i<numChildren; i++) 
{ 
    var e:Object = getChildAt(i); 

    if(e.name.indexOf("$"+lingua) >= 0){ 
     e.visible = true; 
     trace(e.name + " contiene il carattere di linguaggio"); 
    } 
    else if(e.name.indexOf("$") >= 0){ 
     e.visible = false; 
    } 

} 

lorsque je tente d'obtenir la lingua variable à partir de mon MovieClip racine Je reçois "UNDEFINED" s'il vous plaît quelqu'un peut-il m'aider? je suis en train de 2 jours ... désolé pour mauvais anglais, je suis italien

+0

Quand vous dites "sur le MovieClip" où est exactement ce code? Quel clip? Vraisemblablement celui que vous chargez. Très probablement, vous rencontrez un problème de sécurité. – BadFeelingAboutThis

+0

J'ai besoin d'obtenir le lingua variable dans le deuxième MovieClip. le deuxième movieclip est instancié par le premier –

+0

@AlessandroZago Votre question n'est pas claire. Essayez de donner tous les détails qui peuvent aider les autres à comprendre le problème pour obtenir une réponse. Expliquez ce que vous essayez de faire ... – akmozo

Répondre

0

Vous ne disposez pas d'une lingua variable dans votre scénario principal, vous avez btnLingua et ling.

+0

désolé j'ai copié le faux. mais l'erreur reste. Je modifie maintenant le code –

0

Je ne pense pas que dans votre fichier SWF de l'enfant, vous pouvez utiliser la ligne:
var lingua : String = MovieClip(root).lingua;
parce que le code sera exécuté avant même le fichier SWF enfant a été ajouté à la scène (Flash doit faire le premier code pour savoir ce qu'il faut montrer toi).

Donc, essayez quelque chose comme ...

var lingua : String = ""; 

addEventListener(Event.ADDED_TO_STAGE, onReady); 

function onReady (evt : Event) : void 
{ 
    trace("numero di elementi nella pagina : " + numChildren); 
    //trace(MovieClip(root).lingua); 

    lingua = this.parent.parent.lingua; //update string 

    for(var i:int = 0; i<numChildren; i++) 
    { 
     var e:Object = getChildAt(i); 

     if(e.name.indexOf("$"+lingua) >= 0) 
     { 
      e.visible = true; 
      trace(e.name + " contiene il carattere di linguaggio"); 
     } 
     else if(e.name.indexOf("$") >= 0) 
     { e.visible = false; } 

    } 
} 
+0

PS: Le code ci-dessus n'a pas été testé depuis que je ne suis pas sur Flash en ce moment mais vous pouvez l'essayer. Commentez si vous avez toujours besoin d'aide pour cela. –

+0

la chaîne lingua est indéfinie –

+0

Je vois que vous avez un autre ** [Question] (http://stackoverflow.com/q/34125195/2057709) ** ici. Est-ce que ce problème est maintenant résolu ou vous avez toujours besoin d'une solution pour lingua? –