Hur får jag över en variabel från ett movieclip i root, till en inladdad .swf i level2?
Anledningen till att jag vill göra det är för att jag i swf-filen i level2 vill ladda in ytterligare en fil, där filnamnet bestäms av en variabel...
Detta körs på en länk i root:
function myFunc(value) {
loadMovieNum("filer.swf", 1);
set(filmen, value); //"filmen" går inte att hämta i en inladdad fil i level2
}
När man kör det där laddas filen filer.swf in i level1, sedan skai sin tur ytterligare en fil laddas in, i level2.
Den sista filen tänkte jag ladda in med:
film = filmen;
loadMovieNum(film+".swf", 2);
Detta ligger alltså i filen filer.swf som i sin tur ligger i nivå1 i huvudfilen ;)
I stället för
set(filmen, value); har jag testat bland annat dessa:
filmen = value;
var filmen = value;
_global.filmen = value;
och i stället för
film = filmen; har jag testat bland annat:
film = _root.filmen;
film = _level0.filmen;
film = _root.musik_contents.filmen; //musik_contents är movieclippet där variabeln "filmen" återfinns
Inget av dem funkar =/. Testat alla kombinationer som går!
Jag kan börja med att påpeka att jag själv föredrar att ladda mina swf in i ett tomt mc iastället för att ladda dem till en viss level... tycker det är mycket smidigare då man kan använda sig av allt ifrån alla mc egenskaper till fritt flytta runt mc't hur man vill i scenen...
Sen är det även mega simpelt att nå en variable vart än den ligger i din flashfilm ...
Ex.
Du har en main swf som du i sin tur laddar en ny swf (target mc.content). Vill du då komma åt en variabel placerad i din main-swf från din inladdade swf är det bara att lägga till _root.din-variabel .. då flash tolkar hela den inladdade swf som en vanlig mc-trädstruktur...
tac, löste movieclipsaken, men inte variabelproblemet.
Kör nu:
film = _root.musik.musik_contents.filmen;
loadMovie(film+".swf", _root.filer_text);
i en inladdad swf-fil.
kan man över huvud taget skriva "_root.musik.musik_contents.filmen;" ??
som jag fattat det: först root, sen musik-mc, sen i den musik_contents-mc och sedan vad variabeln heter (filmen). fel?
kan påpeka att stället där variabeln "filmen" skapas ligger i en funktion, om det skulle ställa till problem =/
tac, löste movieclipsaken, men inte variabelproblemet.
Kör nu:
film = _root.musik.musik_contents.filmen;
loadMovie(film+".swf", _root.filer_text);
i en inladdad swf-fil.
kan man över huvud taget skriva "_root.musik.musik_contents.filmen;" ??
som jag fattat det: först root, sen musik-mc, sen i den musik_contents-mc och sedan vad variabeln heter (filmen). fel?
kan påpeka att stället där variabeln "filmen" skapas ligger i en funktion, om det skulle ställa till problem =/
tack!
Om du har en variabel vid namn filmen i filmklippet musik_contents och det filmklippet ligger i filmklippet musik så har du skrivit rätt.
Om variabeln ligger i en funktion så beror det lite på hur du har skrivit.
Skriver du: var myVar = "Niclas";
så blir variabeln lokal i funktionen och du däremot skriver: myVar = "Niclas"; så blir den global. :)
jag tror problemet är att du inte ger namnet till clipet i flashfilen uten bara i biblioteket.
kontrolera så instancename är rätt.
det står nere i info-rutan när du markerar clipet i flashen...
nu har jag inte läst hela tråden då jag hamnade här när jag letade efter svar på en annan fråga... men detta är det jag tänkte på när jag läste lite av vad du skrivit