webForumDet fria alternativet

Variabler mellan .swf filer..

Flash

5 svar · 239 visningar · startad av UrMe

Medlem sedan apr. 2001762 inlägg
Frågan#1

Svårt att förklara, jag har 3 .swf filer.

index.swf, sida1.swf, sida2.swf

index.swf används för att ladda in sida1.swf och sida2.swf
Så först laddas index.swf->sida1.swf, i sida1.swf hämtar jag information från en mysql databas med hjälp av PHP och det funkar super. Jag har en länk som ser ut som följer.

<a href=\"asfunction:lank, sida2|5\">Detta är en länk till sida2 med id=5</a>

när man trycker på den har jag en funktion som ser ut så här i flash.

function rootlank(arg){
	var argArray = arg.split("|");
	_root.gotoAndPlay(argArray[0]);
	idnummer = argArray[1];
}

Så den hoppar till framen som heter "sida2" i index.swf och där laddar den sida2.swf .. men hur sjutton får jag med variabeln? Som i detta fall är 5?
Behöver den variabeln i sida2.swf för att ladda in rätt innehåll.

Jag är rätt "novis" på flash och actionscript än så länge :)

Medlem sedan apr. 2001762 inlägg
#2

Ingen som vet hur man ska gå till väga? .. eller förklarade jag otydligt :)

Medlem sedan maj 2003750 inlägg
#3

Jag antar att sida2.swf skriver över sida1.swf. Spara då variabeln "idnummer" i index.swf, som jag antar hela tiden ligger i botten.

/Mirandir

Medlem sedan apr. 2001762 inlägg
#4

Varje undersida har en egen .php fil som jag laddar in separat.

Och jag laddar in t.ex sida2.php i sida2.swf .. tyckte det var smartast när jag byggde det.. ska jag alltså ladda in sida2.php i index.swf? ...

Så här laddar jag in variablerna.

myData = new LoadVars() 
myData.ref = this 
myData.load("sida2.php") 
//getURL("test.php", "_new")
myData.onLoad = function(success){ 
	if(success){  
			text1 = this["text1"];
			text2 = this["text2"];
			text3 = this["text3"];
	} else trace("Error loading data") 
}

Men hur ska jag då skriva i index.swf om jag vill ladda in sida3.php och sida4.php i t.ex frame3 respektive frame4? ..

Är uppbyggt så att varje undersida (sida1.swf, sida2.swf etc) laddas i separata frames. När jag ska ladda in sida2.swf så har jag en kod där på frame2 där jag skriver:

stop();
undersidor_movie.unloadMovie();
undersidor_movie.loadMovie("sida2.swf");

Testade att skriva koden för att ladda in varje sida i respektive frame men det funkade inte eftersom jag använder "myData" som variabel varje gång jag laddar in en .php fil.. kan jag bara ändra till myData2 t.ex för varje .php fil jag ska ladda in?

Många frågor :) .. hoppas nån kan sprida lite ljus över mitt mörker med actionscript :) ..

Medlem sedan apr. 2001762 inlägg
#5

Ingen som har nån idé? Vill göra rätt från början och inte lära mig på fel sätt :)

Medlem sedan apr. 2001762 inlägg
#6

Ok, löste det på ett ganska enkelt sätt.

La bara funktionen i index.swf .. och anropade den på detta sätt: asfunction:_root.lank, idnummer

Sedan i sida1.swf och sida2.swf hämtade jag den genom idnummer=_root.idnummer

Börjar få lite häng på actionscript snart :)

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)