# \[AS 2.0\] Scope issue?

**URL:** <https://forum.kirupa.com/t/as-2-0-scope-issue/245187>\
**Category:** Uncategorized\
**Created:** [November 27, 2007, 9:02am UTC](https://forum.kirupa.com/t/as-2-0-scope-issue/245187 "2007-11-27T09:02:21Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gregaz](https://avatars.discourse-cdn.com/v4/letter/g/fbc32d/32.png) [@Gregaz](https://forum.kirupa.com/u/Gregaz)\
**Post date:** [November 27, 2007, 9:02am UTC](https://forum.kirupa.com/t/as-2-0-scope-issue/245187/1 "2007-11-27T09:02:21Z")

</div>

[COLOR=#ffffff]**[AS 2.0] scope issue?**[/COLOR] Hey guys…  
I´m so \* lost… I´m pretty sure this is so simple but i cant get my head around it…

I´m sorry for the massive amount of code.

I´ve built a xml-driven menu.  
First duplicates a MC to make the “mainMenu”,  
then when you made your choice I remove the  
“mainMenu”-movieclips and build up the “submenu”.

It all works great when viewing the swf for itself.  
However when i load the swf into another  
the “subMenu” won´t show.  
MAKE NOTICE \>\> no “\_root” nor “\_parent” in the code.

This is the part that screws up.  
the:  
fadeIN(home); // the “home” = undefined.  
should point to “\_level0” in the menu swf.  
var home = this;  
(tried setting up \_globals and \_root +\_lockroot… nothing works)

![](http://forums.ultrashock.com/forums/images/codebox-text.gif)\*\* ActionScript:\*\*[COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR][COLOR=#878787]////////////////////////// FADE IN SUB MENU  
[/COLOR][COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR][COLOR=#000087]var[/COLOR] fadeupList = setTimeout (fadeUP, 500);  
[COLOR=#000087]function[/COLOR] fadeUP () {  
btn.[COLOR=#000087]\_y[/COLOR] = 20;  
[COLOR=#000087]var[/COLOR] total = rootNode.childNodes.[COLOR=#000087]length[/COLOR];

```
    [COLOR=#000087]var[/COLOR] subTotal = rootNode.childNodes[m].childNodes.[COLOR=#000087]length[/COLOR];
    
    
    [COLOR=#000087]for[/COLOR] (i:[COLOR=#000087]Number[/COLOR] = 0; i&lt;subTotal; i++){;
            btn.[COLOR=#000087]duplicateMovieClip[/COLOR] ('btn' + i,getNextHighestDepth ());
            btn.[COLOR=#000087]_y[/COLOR] += 19;
            
            [COLOR=#000087]var[/COLOR] nPDF = (rootNode.childNodes[m].childNodes*.firstChild.attributes.pdf);
            [COLOR=#000087]var[/COLOR] nTEXT = (rootNode.childNodes[m].childNodes*.firstChild.firstChild.nodeValue);
            [COLOR=#000087]var[/COLOR] nBILD = (rootNode.childNodes[m].childNodes*.firstChild.attributes.bild);
            
            
            home['btn' + i].nPDF = nPDF;
            home['btn' + i].nTEXT = nTEXT;
            home['btn' + i].nBILD = nBILD;
            home['btn' + i].btnTitle.[COLOR=#000087]text[/COLOR] = rootNode.childNodes[m].childNodes*.attributes.name;
            home['btn' + i].id = i;
            home['btn' + i].[COLOR=#000087]onRollOver[/COLOR] = over;
            home['btn' + i].[COLOR=#000087]onRollOut[/COLOR] = out;
            home['btn' + i].[COLOR=#000087]onRelease[/COLOR] = hit;
            
            
            fadeIN (home); [COLOR=#878787]// THIS IS IT

```

[/COLOR]

```
    }

```

you will find the ABOVE-code further down.  
 ![](http://forums.ultrashock.com/forums/images/codebox-text.gif)\*\* ActionScript:\*\*[COLOR=#000087]stop[/COLOR] ();  
[COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR][COLOR=#878787]////////////////////////// IMPORT FUSE  
[/COLOR][COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR]import com.mosesSupposes.fuse.\*;  
ZigoEngine.simpleSetup (PennerEasing,Shortcuts);

[COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR][COLOR=#878787]////////////////////////// CHARACTER FIX  
[/COLOR][COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR][COLOR=#000087]System[/COLOR].useCodepage = [COLOR=#000087]true[/COLOR];

[COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR][COLOR=#878787]////////////////////////// DECLARE “home” as “this”  
[/COLOR][COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR][COLOR=#000087]var[/COLOR] home = [COLOR=#000087]this[/COLOR];

[COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR][COLOR=#878787]////////////////////////// XML  
[/COLOR][COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR]  
[COLOR=#000087]var[/COLOR] myXML:[COLOR=#000087]XML[/COLOR] = [COLOR=#000087]new[/COLOR] [COLOR=#000087]XML[/COLOR] ();  
myXML.[COLOR=#000087]ignoreWhite[/COLOR] = [COLOR=#000087]true[/COLOR];  
myXML.[COLOR=#000087]onLoad[/COLOR] = buildMenu;  
myXML.[COLOR=#000087]load[/COLOR] ("[COLOR=blue]menu.xml[/COLOR]");  
btn.[COLOR=#000087]\_visible[/COLOR] = [COLOR=#000087]false[/COLOR];

[COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR][COLOR=#878787]////////////////////////// MENU SELECTION  
[/COLOR][COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR][COLOR=#000087]\_global[/COLOR].fcn = [COLOR=#000087]function[/COLOR] () {  
[COLOR=#000087]var[/COLOR] rootNode = myXML.firstChild;  
[COLOR=#000087]var[/COLOR] total = rootNode.childNodes.[COLOR=#000087]length[/COLOR];  
[COLOR=#000087]for[/COLOR] (i:[COLOR=#000087]Number[/COLOR] = 0; i\<total; i++){;  
[COLOR=#000087]if[/COLOR] (i != selectedBTN)  
{  
home[‘btn’ + i].[COLOR=#000087]enabled[/COLOR] = [COLOR=#000087]true[/COLOR];  
home[‘btn’ + i].[COLOR=#000087]useHandCursor[/COLOR] = [COLOR=#000087]true[/COLOR];  
home[‘btn’ + i].btnBG.tintTo (0xCA0000,0,0.2,"[COLOR=blue]easeOutQuad[/COLOR]");  
}  
}  
};

[COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR][COLOR=#878787]////////////////////////// BUILD UP MENU  
[/COLOR][COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR][COLOR=#000087]function[/COLOR] buildMenu () {  
[COLOR=#000087]var[/COLOR] rootNode = myXML.firstChild;  
[COLOR=#000087]var[/COLOR] total = rootNode.childNodes.[COLOR=#000087]length[/COLOR];  
[COLOR=#000087]for[/COLOR] (i:[COLOR=#000087]Number[/COLOR] = 0; i\<total; i++){;  
btn.[COLOR=#000087]duplicateMovieClip[/COLOR] (‘btn’ + i,getNextHighestDepth ());  
btn.[COLOR=#000087]\_y[/COLOR] += 19;  
home[‘btn’ + i].btnTitle.[COLOR=#000087]text[/COLOR] = rootNode.childNodes\*.attributes.name;  
home[‘btn’ + i].id = i;  
home[‘btn’ + i].[COLOR=#000087]onRollOver[/COLOR] = over;  
home[‘btn’ + i].[COLOR=#000087]onRollOut[/COLOR] = out;  
home[‘btn’ + i].[COLOR=#000087]onRelease[/COLOR] = hit;  
}  
[COLOR=#000087]function[/COLOR] over () {  
[COLOR=#000087]this[/COLOR].btnBG.tintTo (0xCA0000,100,0.2,"[COLOR=blue]easeOutQuad[/COLOR]");  
}  
[COLOR=#000087]function[/COLOR] out () {  
[COLOR=#000087]this[/COLOR].btnBG.tintTo (0xCA0000,0,0.2,"[COLOR=blue]easeInQuad[/COLOR]");  
}  
[COLOR=#000087]function[/COLOR] hit () {  
[COLOR=#000087]\_global[/COLOR].selectedBTN = [COLOR=#000087]this[/COLOR].id;  
[COLOR=#000087]this[/COLOR].btnBG.tintTo (0xCA0000,100,0.2,"[COLOR=blue]easeOutQuad[/COLOR]");  
back\_btn.[COLOR=#000087]\_visible[/COLOR] = [COLOR=#000087]true[/COLOR];  
[COLOR=#000087]this[/COLOR].[COLOR=#000087]enabled[/COLOR] = [COLOR=#000087]false[/COLOR];  
[COLOR=#000087]this[/COLOR].[COLOR=#000087]useHandCursor[/COLOR] = [COLOR=#000087]false[/COLOR];  
buildSUB (home);  
fcn ();  
}  
}

[COLOR=#000087]function[/COLOR] removeChildren (mc:[COLOR=#000087]MovieClip[/COLOR]):Void {  
[COLOR=#000087]var[/COLOR] r:[COLOR=#000087]String[/COLOR];  
[COLOR=#000087]for[/COLOR] (r [COLOR=#000087]in[/COLOR] mc)  
{  
[COLOR=#000087]if[/COLOR] (mc[r].[COLOR=#000087]removeMovieClip[/COLOR])  
{  
mc[r].[COLOR=#000087]removeMovieClip[/COLOR] ();  
}  
}  
}

[COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR][COLOR=#878787]////////////////////////// BUILD UP SUB-MENU  
[/COLOR][COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR]  
[COLOR=#000087]function[/COLOR] buildSUB (mc:[COLOR=#000087]MovieClip[/COLOR]) {  
fadeOUT (home);  
[COLOR=#000087]var[/COLOR] rootNode = myXML.firstChild;  
[COLOR=#000087]var[/COLOR] total = rootNode.childNodes.[COLOR=#000087]length[/COLOR];  
[COLOR=#000087]var[/COLOR] m:[COLOR=#000087]Number[/COLOR] = 0;

```
    switch (mc.id)
    {
            
            case 0 :
            m = 0;
            [COLOR=#000087]break[/COLOR];
            case 1 :
            m = 1;
            [COLOR=#000087]break[/COLOR];
            case 2 :
            m = 2;
            [COLOR=#000087]break[/COLOR];
            case 3 :
            m = 3;
            [COLOR=#000087]break[/COLOR];
            case 4 :
            m = 4;
            [COLOR=#000087]break[/COLOR];
            case 5 :
            m = 5;
            [COLOR=#000087]break[/COLOR];
            case 6 :
            m = 6;
            [COLOR=#000087]break[/COLOR];
            case 7 :
            m = 7;
            
            [COLOR=#000087]break[/COLOR];
    }
    [COLOR=#878787]////////////////////////////////////////////////////////////

```

[/COLOR] [COLOR=#878787]////////////////////////// SUBMENU SELECTION  
[/COLOR] [COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR] [COLOR=#000087]\_global[/COLOR].Sfcn = [COLOR=#000087]function[/COLOR] () {  
[COLOR=#000087]var[/COLOR] rootNode = myXML.firstChild;  
[COLOR=#000087]var[/COLOR] total = rootNode.childNodes[m].childNodes.[COLOR=#000087]length[/COLOR];  
[COLOR=#000087]for[/COLOR] (i:[COLOR=#000087]Number[/COLOR] = 0; i\<total; i++){;  
[COLOR=#000087]if[/COLOR] (i != SselectedBTN)  
{  
home[‘btn’ + i].[COLOR=#000087]enabled[/COLOR] = [COLOR=#000087]true[/COLOR];  
home[‘btn’ + i].[COLOR=#000087]useHandCursor[/COLOR] = [COLOR=#000087]true[/COLOR];  
home[‘btn’ + i].btnBG.tintTo (0xCA0000,0,0.2,"[COLOR=blue]easeOutQuad[/COLOR]");  
}  
}  
};  
[COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR] [COLOR=#878787]////////////////////////// FADE OUT THEN REMOVE MCS  
[/COLOR] [COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR] [COLOR=#000087]var[/COLOR] fadeListener = setTimeout (holdRemove, 500);  
[COLOR=#000087]function[/COLOR] holdRemove () {  
removeChildren (home);  
}  
[COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR] [COLOR=#878787]////////////////////////// FADE IN SUB MENU  
[/COLOR] [COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR] [COLOR=#000087]var[/COLOR] fadeupList = setTimeout (fadeUP, 500);  
[COLOR=#000087]function[/COLOR] fadeUP () {  
btn.[COLOR=#000087]\_y[/COLOR] = 20;  
[COLOR=#000087]var[/COLOR] total = rootNode.childNodes.[COLOR=#000087]length[/COLOR];

```
            [COLOR=#000087]var[/COLOR] subTotal = rootNode.childNodes[m].childNodes.[COLOR=#000087]length[/COLOR];
            
            
            [COLOR=#000087]for[/COLOR] (i:[COLOR=#000087]Number[/COLOR] = 0; i&lt;subTotal; i++){;
                    btn.[COLOR=#000087]duplicateMovieClip[/COLOR] ('btn' + i,getNextHighestDepth ());
                    btn.[COLOR=#000087]_y[/COLOR] += 19;
                    
                    [COLOR=#000087]var[/COLOR] nPDF = (rootNode.childNodes[m].childNodes*.firstChild.attributes.pdf);
                    [COLOR=#000087]var[/COLOR] nTEXT = (rootNode.childNodes[m].childNodes*.firstChild.firstChild.nodeValue);
                    [COLOR=#000087]var[/COLOR] nBILD = (rootNode.childNodes[m].childNodes*.firstChild.attributes.bild);
                    
                    
                    home['btn' + i].nPDF = nPDF;
                    home['btn' + i].nTEXT = nTEXT;
                    home['btn' + i].nBILD = nBILD;
                    home['btn' + i].btnTitle.[COLOR=#000087]text[/COLOR] = rootNode.childNodes[m].childNodes*.attributes.name;
                    home['btn' + i].id = i;
                    home['btn' + i].[COLOR=#000087]onRollOver[/COLOR] = over;
                    home['btn' + i].[COLOR=#000087]onRollOut[/COLOR] = out;
                    home['btn' + i].[COLOR=#000087]onRelease[/COLOR] = hit;
                    
                    
                    fadeIN (home); [COLOR=#878787]/// THIS IS IT...

```

[/COLOR]

```
            }
            [COLOR=#000087]function[/COLOR] fadeIN (mc:[COLOR=#000087]MovieClip[/COLOR]) {
                    [COLOR=#000087]for[/COLOR] ([COLOR=#000087]var[/COLOR] i [COLOR=#000087]in[/COLOR] mc)
                    {
                            [COLOR=#000087]var[/COLOR] n = mc*;
                            [COLOR=#000087]if[/COLOR] ([COLOR=#000087]typeof[/COLOR] (n) == "[COLOR=blue]movieclip[/COLOR]")
                            {
                                    n.alphaTo (100,0.5,"[COLOR=blue]easeOutQuad[/COLOR]");
                            }
                    }
            }
            [COLOR=#000087]function[/COLOR] over () {
                    [COLOR=#000087]this[/COLOR].btnBG.tintTo (0xCA0000,100,0.2,"[COLOR=blue]easeOutQuad[/COLOR]");
            }
            [COLOR=#000087]function[/COLOR] out () {
                    [COLOR=#000087]this[/COLOR].btnBG.tintTo (0xCA0000,0,0.2,"[COLOR=blue]easeInQuad[/COLOR]");
            }
            [COLOR=#000087]function[/COLOR] hit () {
                    [COLOR=#000087]_global[/COLOR].SselectedBTN = [COLOR=#000087]this[/COLOR].id;
                    pdfIco_mc.[COLOR=#000087]_visible[/COLOR] = [COLOR=#000087]true[/COLOR];
                    texto_all.[COLOR=#000087]htmlText[/COLOR] = [COLOR=#000087]this[/COLOR].nTEXT;
                    mcl.loadClip ([COLOR=#000087]this[/COLOR].nBILD,bildContainer_mc);
                    [COLOR=#000087]_global[/COLOR].lPDF = [COLOR=#000087]this[/COLOR].nPDF;
                    [COLOR=#000087]this[/COLOR].[COLOR=#000087]enabled[/COLOR] = [COLOR=#000087]false[/COLOR];
                    [COLOR=#000087]this[/COLOR].[COLOR=#000087]useHandCursor[/COLOR] = [COLOR=#000087]false[/COLOR];
                    [COLOR=#000087]this[/COLOR].btnBG.tintTo (0xCA0000,100,0.2,"[COLOR=blue]easeOutQuad[/COLOR]");
                    Sfcn ();
                    [COLOR=#878787]//trace(this.nTEXT);

```

[/COLOR] }  
[COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR] [COLOR=#878787]////////////////////////// PDF BUTTON MOUSE EVENTS  
[/COLOR] [COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR] pdfIco\_mc.[COLOR=#000087]onRollOver[/COLOR] = [COLOR=#000087]function[/COLOR] () {  
[COLOR=#000087]this[/COLOR].scaleTo (100,0.5,"[COLOR=blue]easeOutBack[/COLOR]");  
};  
pdfIco\_mc.[COLOR=#000087]onRollOut[/COLOR] = [COLOR=#000087]function[/COLOR] () {  
[COLOR=#000087]this[/COLOR].scaleTo (80,0.5,"[COLOR=blue]easeOutBack[/COLOR]");  
};  
pdfIco\_mc.[COLOR=#000087]onRelease[/COLOR] = [COLOR=#000087]function[/COLOR] () {  
[COLOR=#000087]trace[/COLOR] ([COLOR=#000087]\_global[/COLOR].lPDF);  
[COLOR=#000087]getURL[/COLOR] ([COLOR=#000087]\_global[/COLOR].lPDF);  
};  
[COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR] [COLOR=#878787]////////////////////////// MOVIECLIPLOADER  
[/COLOR] [COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR] [COLOR=#000087]var[/COLOR] mList:[COLOR=#000087]Object[/COLOR] = [COLOR=#000087]new[/COLOR] [COLOR=#000087]Object[/COLOR] ();  
[COLOR=#000087]var[/COLOR] mcl:MovieClipLoader = [COLOR=#000087]new[/COLOR] MovieClipLoader ();  
mcl.[COLOR=#000087]addListener[/COLOR] (mList);  
mList.onLoadStart = [COLOR=#000087]function[/COLOR] () {  
[COLOR=#000087]trace[/COLOR] ("[COLOR=blue]start load[/COLOR]");  
bildContainer\_mc.[COLOR=#000087]\_alpha[/COLOR] = 0;  
};  
mList.onLoadProgress = [COLOR=#000087]function[/COLOR] () {  
[COLOR=#000087]trace[/COLOR] ("[COLOR=blue]is loading[/COLOR]");  
};  
mList.onLoadInit = [COLOR=#000087]function[/COLOR] () {  
[COLOR=#000087]trace[/COLOR] ("[COLOR=blue]load complete[/COLOR]");  
texto\_all.[COLOR=#000087]\_y[/COLOR] = bildContainer\_mc.[COLOR=#000087]\_y[/COLOR] + bildContainer\_mc.[COLOR=#000087]\_height[/COLOR] + 10;  
bildContainer\_mc.alphaTo (100,1,"[COLOR=blue]easeOutBounce[/COLOR]");

```
            };
    }

```

}

[COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR][COLOR=#878787]////////////////////////// FADE IN FUNCTION  
[/COLOR][COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR]  
[COLOR=#000087]function[/COLOR] fadeIN (mc:[COLOR=#000087]MovieClip[/COLOR]) {  
[COLOR=#000087]trace[/COLOR] ("[COLOR=blue]should fade up[/COLOR]");  
[COLOR=#000087]for[/COLOR] ([COLOR=#000087]var[/COLOR] i [COLOR=#000087]in[/COLOR] mc)  
{  
[COLOR=#000087]var[/COLOR] n = mc\*;  
[COLOR=#000087]if[/COLOR] ([COLOR=#000087]typeof[/COLOR] (n) == “[COLOR=blue]movieclip[/COLOR]”)  
{  
[COLOR=#000087]trace[/COLOR] (n);  
n.alphaTo (100,0.5,"[COLOR=blue]easeOutQuad[/COLOR]");  
}  
}  
}  
[COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR][COLOR=#878787]////////////////////////// FADE OUT FUNCTION  
[/COLOR][COLOR=#878787]////////////////////////////////////////////////////////////  
[/COLOR]  
[COLOR=#000087]function[/COLOR] fadeOUT (mc:[COLOR=#000087]MovieClip[/COLOR]) {  
[COLOR=#000087]trace[/COLOR] ("[COLOR=blue]should fade out now[/COLOR]");  
[COLOR=#000087]for[/COLOR] ([COLOR=#000087]var[/COLOR] i [COLOR=#000087]in[/COLOR] mc)  
{  
[COLOR=#000087]var[/COLOR] n = mc\*;  
[COLOR=#000087]if[/COLOR] ([COLOR=#000087]typeof[/COLOR] (n) == “[COLOR=blue]movieclip[/COLOR]”)  
{  
n.alphaTo (0,0.5,"[COLOR=blue]easeInQuad[/COLOR]");  
}  
}  
}

As said… this works for itself but not when  
loaded into another swf.

examples:

[WORKING - standalone](http://www.workatfixid.se/amada/menu/products.html)

[NOT WORKING - loaded](http://www.workatfixid.se/amada/menu/accordion_b.html) ( Press the “PRODUKTER” link to get to the menu )

Please… anyone ? ![](http://forums.ultrashock.com/forums/images/smilies/frown.gif)
