2 SWFs Variablenübergabe zwischen den Filmen?

Orphelina

Erfahrenes Mitglied
Hallo,

hab bei der Suche irgendwie nichts passendes gefunden.
Ich habe 2 SWFs wobei der eine den anderen gleich einlädt, da eine Sprachauswahl stattfindet und dann quasi Variablen (global) aus dem ersten Film benutzen soll, zB um das Menü zu laden...
Aber das tut so nicht... Ich hatte das im kleinen ausprobiert und das ging super. Aber mit dem richtigen grossen Projekt tut das nicht.
Geht das grundsätzlich nicht oder hab ich nur einen Bug drin?
Ich dachte, ich lade in meinen Hauptfilm den anderen Film und entlade diesen dann wieder wenn man eine Sprache wählt und gleichzeitig werden die Sachen aus dem Hauptfilm genutzt...
In meinem Hauptfilm sind alle meine Variablen mit _global.variablenName deklariert. Wie komme ich an die denn wieder ran aus dem reingeladenen Film? Habs schon mit _parent versucht und this, aber irgendwie klappt das nicht. Hat da jemadn ne Idee?

Gruß
 
Zuletzt bearbeitet:
Hi Orphelina,

der Knackpunkt ist, dass deine Filme in verschiedenen Levels des Players liegen.
Dein erster Film wird automatisch auf Level 0 geladen.
Du hast jetzt noch 9 weitere Levels zum stapeln zu Verfügung.
Den zweiten Film ("mehr.swf") lädst du nach, z. B. auf Level 1.
Willst du jetzt eine Variable aus einem dieser Filme auslesen oder setzen, schreibst du statt "_root.meineVariable" einfach den entsprechenden Level. Also: "_level0.meineVariable" um Daten aus "main.swf" oder "_level1.meineVariable" um Daten aus "mehr.swf" zu erhalten oder zu setzen.

Viel Erfolg!
 
Ah okay schon mehr Licht in der Sache.
Ich habe aber in meinem "Hauptfilm" die Variablen mit "_global.meineVariable" bezeichnet.
Muss ich die dann mit "level0._global.meineVariable" aufrufen?

Danke und Gruß
 
Auf jeden Fall solltest du mit einer Underscore beginnen.
Also "_level0", nicht "level0". Das _global benötigst du evtl. nicht.
Ich glaube mit "_level0.meineVariable" müsste es bereits gehen.
Ansonsten einfach mal "_level0._global.meineVariable" testen. ;-)

Gern geschehen.
 
... lädst Du die Filme überhaupt in unterschiedliche Stufen, oder in Container?

Ansonsten gilt (wie immer ;)): Poste bitte ein Beispiel (am besten ein Dummy, in dem der Fehler auch auftritt).

Gruß
.
 
Öhm gute Frage, eigentlich nicht, also ich habe nichts extra angegeben...
Aber müsste es dann nicht gehen ohne Extraangaben?

Gruß
 
Hallo,

ich verwende einfach loadMovie("Film2.swf");

PHP:
_root.createEmptyMovieClip("sprachen", 1);
_root["sprachen"].loadMovie("sprachauswahl.swf");
 
Dann hast Du auch nichts mit verschiedenen Levels am Hut (sondern alles liegt auf 0).

Ich handhabe globale Variablen meistens so:
Code:
// Hauptzeitleiste des Hauptfilms:

_global.root = this;

var von_ueberall = "Hallo Welt";
Auf "von_ueberall" solltest Du nun von wo aus auch immer per:
Code:
trace(root.von_ueberall);
zugreifen können (Die globale Variable "root" deshalb, da man ja u.U. ab und an mit _lockroot = true arbeitet).

Mir ist es auch schon untergekommen, dass eine größere Anzahl globaler Variablen nicht von eingeladenen Unterfilmen angesprochen werden konnnte (frag mich nicht, wieso - ich hab das Thema damals auch nicht weiter verfolgt). Aus diesem Grund fährt man mit einer globalen Variable, die auf die Hauptzeitleiste verweist, in der Regel recht gut.

Gruß
.
 

Neue Beiträge

Zurück