Avatar billede coweatcow Nybegynder
05. september 2001 - 23:33 Der er 10 kommentarer og
1 løsning

loadMovie ---passing variables

I have a main swf that is loading (with loadMovie) smaller external swfs into containers in various levels within the main swf. My problem is that if ever I call the root (fx _root.fooVariable) in the smaller swfs, those commands translate over to the main swf and confuse my code...meaning the smaller swfs dont show up in the main movie like they do when i play them alone. Is there a way I can localize my variables or pass them over so that they dont confuse my main swf....
Du må gerne svar i dansk. Jeg kan godt forstår det. Tak.
Avatar billede ditlev Juniormester
06. september 2001 - 00:14 #1
Det kan sikkert gøres på flere måder, men jeg plajer at loade mine eksterne swf\'er ind i tomme movieclips (som har deres eget specifikke instance-navn).
Jeg har nu fuld kontrol over mine indloadede film, og kan addressere variablerne vha.:
_root.instancenavn.variabelnavn

/Ditlev
Avatar billede coweatcow Nybegynder
06. september 2001 - 00:26 #2
ive been doing that. I can load them into containers(empty mcs) and control them if they load properly. My problem is, if in my external swfs, I for example

_root.dupTest.duplicateMovieClip((\'duptest+i\', i)
etc...

Ive referred to the root in my external swf. If I try to load this into my main swf, the main swf thinks Im refering to the MAIN swf _root and wont duplicate my movies like it does if i test it externally. since I can\'t refer to the root in my external movie clips, I can\'t use a controller in them (cause I cant refer to it without using _root).

Avatar billede ditlev Juniormester
06. september 2001 - 00:40 #3
Hvad med:

this[dupTest.duplicateMovieClip((\'duptest+i\', i)];

i de indloadede filer. Med this refererer du til det aktuelle clip.

Det skulle herefter kunne kaldes fra main swf\'en på vanlig vis, når swf\'erne er loaded ind!
Avatar billede nikolajdu Nybegynder
06. september 2001 - 02:00 #4
If you load your movieClips into a level it should be easy. Then you just refer to your variables with _level5.myVariabel - level 5 being the level you loaded your movieClip into....

loadMovieNum (\"myMovie.swf\", 5);

_level0 will always be your main movie.

Tjeck the MacroMedia help reference for _level for more:

The following example stops the Timeline of the movie in level 0:

_level0.stop();
The following example sends the Timeline of the movie in level 4 to frame 5. The movie in level 4 must have previously been loaded with a loadMovie action:

_level4.gotoAndStop(5);

/Nikolaj

http://www.fotx.net/nikolajdu
Avatar billede ditlev Juniormester
06. september 2001 - 02:14 #5
Nikolaj - hvad laver vi kl. 2 om natten ved computeren? *ryster på hovedet*

Nb. hans problem, som jeg ser det, er anvendelsen af _root i de indloadede filer! Når de er inloadede, passer adressen ikke længere.
Avatar billede coweatcow Nybegynder
06. september 2001 - 02:14 #6
i happen to pass this problem on to resident guru elnino who after a short mental struggle threw out the possible use of _level1.dupTest etc....

using this, I can influence the controller on the main swf from the external swf and refer to it using _level1.controller _root is just a local name for all base levels. Its about placing variables and finding them again. Hard to explain so late at night.

Avatar billede coweatcow Nybegynder
06. september 2001 - 02:45 #7
Can I do this:

onClipEvent (load) {
_root.container.duplicateMovieClip(\'container2\', 2);
}

to get an empty container on level 2 and then this:
on (press) {
    loadMovie (\"test.swf\", _level2.container2);
}

t load my swf into the container onto level2.

That is, can I load an swf into an empty MC on level2...
Avatar billede nikolajdu Nybegynder
06. september 2001 - 08:02 #8
Is it possible for you to show us an example and a link to your .fla´s. It should make things easier if we could exactly what your problem is.

or mail them to flasher@nikolajdu.dk
Avatar billede elnino Nybegynder
06. september 2001 - 12:27 #9
Hej nikolajdu,
Jeg sidder og arbejder sammen med coweatcow på det. Han er ikke kommet så jeg svare lige for ham. Jeg har oploaded nogle eksempel filerne til:

www.itu.dk/~msk/eksperten

Problemet er at jeg mener jeg duplikere en tom container til level 2 og så loader min nye swf in i containeren i level2. Men mihn debugger siger den er på level 0 som også forsvinder når jeg loader noget ind i containeren (som om de er på samme level)....

Håber det hjælper
Avatar billede ditlev Juniormester
06. september 2001 - 13:22 #10
Hvorfor loade ind i forskellige levels??????

Når swf\'erne loades ind i specifikke movieclips er der ingen grund til at lave forvirringen større end den er i forvejen!

Lav tomme movieclips.
Placer dem i main movie.
Giv dem instancenavne.

Load de nye film ind, svarende til de respektive movieclips.
Brug dem......
Avatar billede coweatcow Nybegynder
10. september 2001 - 14:29 #11
just going back through all this, finally, i reallized the biggest problem i was having was that I was using loadMovie instead of loadMovieNum (as nicolai suggested), it makes it possible to put in variables as levels without needing to use quotes and confuse the code. once a movie is loaded into a level, it can be moved off the stage by \"_leveln._x=10000\" for example. this avoids the need for containers to move your movies around.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester