# loadMovieNum \_root question

**URL:** <https://forum.kirupa.com/t/loadmovienum--root-question/260752>\
**Category:** flash\
**Created:** [May 19, 2008, 3:53pm UTC](https://forum.kirupa.com/t/loadmovienum--root-question/260752 "2008-05-19T15:53:53Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![smuella](https://avatars.discourse-cdn.com/v4/letter/s/7993a0/32.png) [@smuella](https://forum.kirupa.com/u/smuella)\
**Post date:** [May 19, 2008, 3:53pm UTC](https://forum.kirupa.com/t/loadmovienum--root-question/260752/1 "2008-05-19T15:53:53Z")

</div>

Hi - I’m confused with loadMovieNum - I thought that if I loaded in a swf into a level in my maind movie using loadMovieNum, then the loaded movie would see the \_root of the main timeline as its \_root - but this doesn’t seem to be working - Or is this just with loadMovie, not loadMovieNum ?

Sam

---

<div class="post-metadata">

**Author:** ![Macsy](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/macsy/32/3238_2.png) [@Macsy](https://forum.kirupa.com/u/Macsy)\
**Post date:** [May 19, 2008, 4:22pm UTC](https://forum.kirupa.com/t/loadmovienum--root-question/260752/2 "2008-05-19T16:22:00Z")

</div>

\_root will allways be the root…

---

<div class="post-metadata">

**Author:** ![shotymac](https://avatars.discourse-cdn.com/v4/letter/s/58956e/32.png) [@shotymac](https://forum.kirupa.com/u/shotymac)\
**Post date:** [May 21, 2008, 11:38pm UTC](https://forum.kirupa.com/t/loadmovienum--root-question/260752/3 "2008-05-21T23:38:04Z")

</div>

actually that is not correct. The root will differ for externally loaded swfs based on where or what they are loaded into. The best way to access the \_root level is either:

1. Make a global variable or object that refferences the \_root. and use this to call out to the \_root.

Or

1. Use \_parent in your external swf to make reference to its parent container.

---

<div class="post-metadata">

**Author:** ![ccoff](https://avatars.discourse-cdn.com/v4/letter/c/e0b2c6/32.png) [@ccoff](https://forum.kirupa.com/u/ccoff)\
**Post date:** [May 22, 2008, 1:17am UTC](https://forum.kirupa.com/t/loadmovienum--root-question/260752/4 "2008-05-22T01:17:50Z")

</div>

[![](http://www.funingame.com/images/good.gif)[url=http://www.top1wowgold.com/] ![](http://www.funingame.com/images/good.gif)](http://www.funingame.com/)

---

<div class="post-metadata">

**Author:** ![sparkdemon](https://avatars.discourse-cdn.com/v4/letter/s/958977/32.png) [@sparkdemon](https://forum.kirupa.com/u/sparkdemon)\
**Post date:** [May 22, 2008, 6:31am UTC](https://forum.kirupa.com/t/loadmovienum--root-question/260752/5 "2008-05-22T06:31:03Z")

</div>

(From Flash help)

[SIZE=“6”]\_lockroot (MovieClip.\_lockroot property)[/SIZE]

public \_lockroot : Boolean

A Boolean value that specifies what \_root refers to when a SWF file is loaded into a movie clip. The \_lockroot property is undefined by default. You can set this property within the SWF file that is being loaded or in the handler that is loading the movie clip.

For example, suppose you have a document called Games.fla that lets a user choose a game to play, and loads the game (for example, Chess.swf) into the game\_mc movie clip. Make sure that, after being loaded into Games.swf, any use of \_root in Chess.swf refers to \_root in Chess.swf (not \_root in Games.swf). If you have access to Chess.fla and publish it to Flash Player 7 or later, you can add this statement to Chess.fla on the main Timeline:

this.\_lockroot = true;

If you don’t have access to Chess.fla (for example, if you are loading Chess.swf from someone else’s site into chess\_mc), you can set the Chess.swf \_lockroot property when you load it. Place the following ActionScript on the main Timeline of Games.fla:

chess\_mc.\_lockroot = true;

In this case, Chess.swf can be published for any version of Flash Player, as long as Games.swf is published for Flash Player 7 or later.

When calling loadMovie(), set the MovieClip.\_lockroot property to true in the loader movie, as the following code shows. If you don’t set \_lockroot to true in the loader movie, any references to \_root in the loaded movie point to the \_root of the loader instead of the \_root of the loaded movie:

myMovieClip.\_lockroot = true;

[SIZE=“5”]Availability: ActionScript 1.0; Flash Player 7[/SIZE]

Example

In the following example, lockroot.fla has \_lockroot applied to the main SWF file. If the SWF file is loaded into another FLA document, \_root always refers to the scope of lockroot.swf, which helps prevent conflicts. Place the following ActionScript on the main Timeline of lockroot.fla:

this.\_lockroot = true;

\_root.myVar = 1;

\_root.myOtherVar = 2;

trace(“from lockroot.swf”);

for (i in \_root) {

trace(" “+i+” -\> "+\_root\*);

}

trace("");

which traces the following information:

from lockroot.swf

myOtherVar -\> 2

myVar -\> 1

\_lockroot -\> true

$version -\> WIN 7,0,19,0

The following example loads two SWF files, lockroot.swf and nolockroot.swf. The lockroot.fla document contains the ActionScript from the preceding example. The nolockroot.fla file has the following code added to Frame 1 of the Timeline:

\_root.myVar = 1;

\_root.myOtherVar = 2;

trace(“from nolockroot.swf”);

for (i in \_root) {

trace(" “+i+” -\> "+\_root\*);

}

trace("");

The lockroot.swf file has \_lockroot applied to it, and nolockroot.swf does not. After the files are loaded, each file outputs the values variables from their \_root scopes. Place the following ActionScript on the main Timeline of a FLA document:

this.createEmptyMovieClip(“lockroot\_mc”, this.getNextHighestDepth());

lockroot\_mc.loadMovie(“lockroot.swf”);

this.createEmptyMovieClip(“nolockroot\_mc”, this.getNextHighestDepth());

nolockroot\_mc.loadMovie(“nolockroot.swf”);

function dumpRoot() {

trace(“from current SWF file”);

for (i in \_root) {

trace(" “+i+” -\> "+\_root\*);

}

trace("");

}

dumpRoot();

which traces the following information:

from current SWF file

dumpRoot -\> [type Function]

$version -\> WIN 7,0,19,0

nolockroot\_mc -\> \_level0.nolockroot\_mc

lockroot\_mc -\> \_level0.lockroot\_mc

from nolockroot.swf

myVar -\> 1

i -\> lockroot\_mc

dumpRoot -\> [type Function]

$version -\> WIN 7,0,19,0

nolockroot\_mc -\> \_level0.nolockroot\_mc

lockroot\_mc -\> \_level0.lockroot\_mc

from lockroot.swf

myOtherVar -\> 2

myVar -\> 1

The file with no \_lockroot applied also contains all of the other variables that the root SWF file contains. If you don’t have access to the nolockroot.fla, you can use the following ActionScript added to the main Timeline to change the \_lockroot in the preceding main FLA document:

this.createEmptyMovieClip(“nolockroot\_mc”, this.getNextHighestDepth());

nolockroot\_mc.\_lockroot = true;

nolockroot\_mc.loadMovie(“nolockroot.swf”);

which then traces the following:

from current SWF file

dumpRoot -\> [type Function]

$version -\> WIN 7,0,19,0

nolockroot\_mc -\> \_level0.nolockroot\_mc

lockroot\_mc -\> \_level0.lockroot\_mc

from nolockroot.swf

myOtherVar -\> 2

myVar -\> 1

from lockroot.swf

myOtherVar -\> 2

myVar -\> 1

---

<div class="post-metadata">

**Author:** ![randomagain](https://avatars.discourse-cdn.com/v4/letter/r/35a633/32.png) [@randomagain](https://forum.kirupa.com/u/randomagain)\
**Post date:** [May 22, 2008, 9:18am UTC](https://forum.kirupa.com/t/loadmovienum--root-question/260752/6 "2008-05-22T09:18:10Z")

</div>

you have to define a depth that is above everything else, also lock root is just plane silly

---

<div class="post-metadata">

**Author:** ![shotymac](https://avatars.discourse-cdn.com/v4/letter/s/58956e/32.png) [@shotymac](https://forum.kirupa.com/u/shotymac)\
**Post date:** [May 22, 2008, 7:38pm UTC](https://forum.kirupa.com/t/loadmovienum--root-question/260752/7 "2008-05-22T19:38:33Z")

</div>

[quote=sparkdemon;2329512](From Flash help)

[SIZE=6]\_lockroot (MovieClip.\_lockroot property)[/SIZE]

public \_lockroot : Boolean

A Boolean value that specifies what \_root refers to when a SWF file is loaded into a movie clip. The \_lockroot property is undefined by default. You can set this property within the SWF file that is being loaded or in the handler that is loading the movie clip.

For example, suppose you have a document called Games.fla that lets a user choose a game to play, and loads the game (for example, Chess.swf) into the game\_mc movie clip. Make sure that, after being loaded into Games.swf, any use of \_root in Chess.swf refers to \_root in Chess.swf (not \_root in Games.swf). If you have access to Chess.fla and publish it to Flash Player 7 or later, you can add this statement to Chess.fla on the main Timeline:

this.\_lockroot = true;

If you don’t have access to Chess.fla (for example, if you are loading Chess.swf from someone else’s site into chess\_mc), you can set the Chess.swf \_lockroot property when you load it. Place the following ActionScript on the main Timeline of Games.fla:

chess\_mc.\_lockroot = true;

In this case, Chess.swf can be published for any version of Flash Player, as long as Games.swf is published for Flash Player 7 or later.

When calling loadMovie(), set the MovieClip.\_lockroot property to true in the loader movie, as the following code shows. If you don’t set \_lockroot to true in the loader movie, any references to \_root in the loaded movie point to the \_root of the loader instead of the \_root of the loaded movie:

myMovieClip.\_lockroot = true;

[SIZE=5]Availability: ActionScript 1.0; Flash Player 7[/SIZE]

Example

In the following example, lockroot.fla has \_lockroot applied to the main SWF file. If the SWF file is loaded into another FLA document, \_root always refers to the scope of lockroot.swf, which helps prevent conflicts. Place the following ActionScript on the main Timeline of lockroot.fla:

this.\_lockroot = true;

\_root.myVar = 1;

\_root.myOtherVar = 2;

trace(“from lockroot.swf”);

for (i in \_root) {

trace(" “+i+” -\> "+\_root\*);

}

trace("");

which traces the following information:

from lockroot.swf

myOtherVar -\> 2

myVar -\> 1

\_lockroot -\> true

$version -\> WIN 7,0,19,0

The following example loads two SWF files, lockroot.swf and nolockroot.swf. The lockroot.fla document contains the ActionScript from the preceding example. The nolockroot.fla file has the following code added to Frame 1 of the Timeline:

\_root.myVar = 1;

\_root.myOtherVar = 2;

trace(“from nolockroot.swf”);

for (i in \_root) {

trace(" “+i+” -\> "+\_root\*);

}

trace("");

The lockroot.swf file has \_lockroot applied to it, and nolockroot.swf does not. After the files are loaded, each file outputs the values variables from their \_root scopes. Place the following ActionScript on the main Timeline of a FLA document:

this.createEmptyMovieClip(“lockroot\_mc”, this.getNextHighestDepth());

lockroot\_mc.loadMovie(“lockroot.swf”);

this.createEmptyMovieClip(“nolockroot\_mc”, this.getNextHighestDepth());

nolockroot\_mc.loadMovie(“nolockroot.swf”);

function dumpRoot() {

trace(“from current SWF file”);

for (i in \_root) {

trace(" “+i+” -\> "+\_root\*);

}

trace("");

}

dumpRoot();

which traces the following information:

from current SWF file

dumpRoot -\> [type Function]

$version -\> WIN 7,0,19,0

nolockroot\_mc -\> \_level0.nolockroot\_mc

lockroot\_mc -\> \_level0.lockroot\_mc

from nolockroot.swf

myVar -\> 1

i -\> lockroot\_mc

dumpRoot -\> [type Function]

$version -\> WIN 7,0,19,0

nolockroot\_mc -\> \_level0.nolockroot\_mc

lockroot\_mc -\> \_level0.lockroot\_mc

from lockroot.swf

myOtherVar -\> 2

myVar -\> 1

The file with no \_lockroot applied also contains all of the other variables that the root SWF file contains. If you don’t have access to the nolockroot.fla, you can use the following ActionScript added to the main Timeline to change the \_lockroot in the preceding main FLA document:

this.createEmptyMovieClip(“nolockroot\_mc”, this.getNextHighestDepth());

nolockroot\_mc.\_lockroot = true;

nolockroot\_mc.loadMovie(“nolockroot.swf”);

which then traces the following:

from current SWF file

dumpRoot -\> [type Function]

$version -\> WIN 7,0,19,0

nolockroot\_mc -\> \_level0.nolockroot\_mc

lockroot\_mc -\> \_level0.lockroot\_mc

from nolockroot.swf

myOtherVar -\> 2

myVar -\> 1

from lockroot.swf

myOtherVar -\> 2

myVar -\> 1[/quote]

\_lockroot sets the loaded swf to use its own timeline as the root. I do not think that is what he wants. I believe he wants the loaded swf to use the main timeline as its root.
