Actionscript 3 AS3从根时间轴获取变量

Actionscript 3 AS3从根时间轴获取变量,actionscript-3,flash,movieclip,moviecliploader,Actionscript 3,Flash,Movieclip,Moviecliploader,我的主swf上有以下代码: 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){ tr

我的主swf上有以下代码:

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);
}
var btnLingua:Array=新数组(ITA、DE、LAT、EL);
var-lingua:String=“ITA”;
对于(变量i:int=0;i=0){
e、 可见=假;
}
}
当我试图从我的根movieclip获取变量lingua时,我收到了“UNDEFINED” 有人能帮我吗?我试了两天。。。
对不起,我的英语不好,我是意大利人,你的主要时间线中没有可变的
语言,你有
btnLingua
ling

我认为你的孩子SWF中不能用这句话:
var-lingua:String=MovieClip(root.lingua)
因为在将子SWF添加到stage之前,该代码都会运行(Flash必须执行第一个代码才能知道要显示什么)

所以,试试像

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; }

    }
}
var-lingua:String=“”;
addEventListener(Event.ADDED_至_阶段,onReady);
函数onReady(evt:事件):void
{
踪迹(“nella pagina的元素数字:“+numChildren”);
//痕迹(动唇(根)。舌);
lingua=this.parent.parent.lingua;//更新字符串
对于(变量i:int=0;i=0)
{
e、 可见=真实;
微量元素(如名称+“contiene il Caratter di linguaggio”);
}
else if(e.name.indexOf(“$”>)=0)
{e.visible=false;}
}
}

对不起,我抄错了。但错误依然存在。我现在编辑代码当你说“在电影剪辑上”时,代码到底在哪里?哪个电影剪辑?大概是你正在加载的那个。很可能您遇到了安全上下文问题。我需要在第二部movieclip中获取变量lingua。第二个movieclip由first@AlessandroZago你的问题不清楚。尽量提供所有能帮助他人理解问题的细节,以获得答案。解释你正在尝试做什么…PS:以上代码未经测试,因为我现在不在Flash上,但你可以试试。如果您仍然需要帮助,请进行注释。字符串语言未定义。我看您这里还有其他语言。那么这个问题现在已经解决了,还是仍然需要字符串语言的解决方案呢?
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; }

    }
}