Variable an SWF senden NEED HELP

mackattack

Mitglied
Hallo

Ich dreh hier gleich durch
Ich suche nun schon seit Stunden hier rum, finde leider nix passendes..

Also, mein Problem:

Ich habe eine SWF(Main.swf)... In die main.swf wird eine weitere SWF (test.swf) geladen.
Das Laden der test.swf funktioniert auch wunderbar. Leider kriege ich es nicht hin, Variablen an die test.swf zu senden. Ich will sofort beim Aufruf die Daten mit geben.
Die SWF lade ich per loadMovie in einen dynamisch erstellten leeren Container.

Mein Prob. ist jetzt, dass ich die Daten (nur eine URL) nicht von der main.swf an die test.swf gesendet kriege... oder ich bin einfach nur zu blöd dazu ;)

Vielleicht kann mir ja jemand von euch helfen...
eigentlich ist das ja schon so trivial, dass es mir schon fast peinlich ist, nachzufragen :D

Also,
schonmal Danke im Vorraus.
 
Wenn du die test.swf in einen mc lädts, kannst du sie über diesen Mc ansprechen...
heisst der mc in dem du test lädst mal einfach "container" und liegt auf der Hauptbühne..

du kannst jetzt deine "test.swf" ganz einfach mittels _root.container ansprechen.

was auch klappt, ist, wenn du eine Variable in deinem Hauptfilm definierst..
würde dann so ausssehen:

Code im Hauptfilm:
PHP:
 _root.DeineVariable = 50;

in deiner "Test swf" kannst du diese variable über den selben Pfad auslesen:
Code in deiner test.swf
PHP:
 trace(_root.DeineVariable);
 
danke erstmal für deine schnelle Antwort

Also, das was ich oben geschildert habe, ist nur mein Grundproblem... es stellt nicht genau die Gegebenheiten dar.. das wär nun zu verzwickt.

Ich befinde mich quasi in der main.swf in einem MC.
Stell dir das so vor, als ob die test.swf nur ein Textfeld entählt und in diesem Textfeld möchte ich die URL angezeigt bekommen. In der main.swf aus wird dann in einer Funktion, die in einer Schleife aufgerufen wird, der Containerclip erstellt und per LoadMovie die Test.swf reingeladen... in etwa so:
PHP:
for(var i=0;i<=_parent.urlArray.length-1;i++) {
	FelderErstellen("container"+i,i);
}

function FelderErstellen(ContName,counter) {
	this.createEmptyMovieClip(ContName,20+counter);
	this[ContName]._x = 70*counter;
	loadMovie("test.swf",ContName);
}

und ich will jetzt quasi, dass die test.swf die URL (_parent.urlArray[counter])
empfängt

Ich hab auch schon probiert, die URL dem erstellten MC zu übergeben
PHP:
this[ContName].pfad = _parent.urlArray[counter];
klappte aber leider auch nicht :(

Das liegt bestimmt nur mal wieder an irgendeinem banalen Denkfehler
 
Hi,

du musst natürlich warten, bis die andere SWF-Datei auch komplett geladen ist, sonst werden alle übergebenen Variablen wieder überschrieben:
PHP:
function laden_und_uebergeben(datei, container, variable) {
  container.loadMovie(datei);
  this.onEnterFrame = function() {
    if (container.getBytesTotal() > 10 && container.getBytesLoaded() > container.getBytesTotal()) {
      container.variable = variable;
      delete this.onEnterFrame;
    }
  }
}

Eine andere Möglichkeit: von dem nachgeladenen Film kannst Du natürlich auf Variablen im Hauptfilm zugreifen, z.B.:
PHP:
textfeld.text = _parent.variable;
// oder:
textfeld.text = _root.variable;

Gruß
.
 
Also....
das Prob liegt ja darin, dass ich den Index für mein urlArray brauch!

wenn ich also im test.swf sage
PHP:
trace("im test.swf: "+_parent.thumbArray[1]);

dann krieg ich die schon ne korrekte Ausgabe!
Ich muss aber den Index des Arrays aus der Übergabe kriegen... sonst klappt das nicht.
irgendwie sowas:
PHP:
trace("im test.swf: "+_parent.thumbArray[counter]);
Ich weiss aber nun nicht, wie ich "counter" dem test.swf übergebe
 
Na, entweder, imdem Du dem Unterfilm mit der von mir vorgeschlagenen Funktion "laden_und_ueergeben" die Variable "counter" übergibst, oder indem Du auch von "unten" auf den Index zugreifst:
PHP:
 trace("im test.swf: "+_parent.thumbArray[_parent.counter]);

Gruß
.
 
Zurück