• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-04-2010, 21:08   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 487
Arrow loadMovie - externe Parameter

Ich lade einen externen SWF-Film mit loadMovie auf die Stage.
Nun verwendet der externe SWF-Film intern folgende Variable:
Code:
_level0.xmlFile
Nun möchte ich diese Variable irgendwie von außen setzen / oder die externe SWF von außen darauf zugreifen lassen.

Wie mache ich das?

Vielen Dank für eure Antworten im Voraus!
Mit freundlichen Grüßen
Firemice
Firemice ist offline   Mit Zitat antworten
Alt 27-04-2010, 21:53   #2 (permalink)
Webverwickler
 
Benutzerbild von wanst
 
Registriert seit: May 2005
Beiträge: 326
also »außen« und »innen« ist etwas irreführend bei der Sache. Reden wir doch mal von Film A und Film B.

Film A soll Film B laden. In Film A gibt es eine Variable meineVar_A, in Film B eine weitere meineVar_B.

Das sieht dan in etwa so aus:
ActionScript:
  1. // Film A:
  2. _root.meineVar_A = "ich komme aus Film A";
  3. _root.createEmptyMovieClip("meinFilm_B", _root.getNextHighestDepth());
  4. loadMovie("film_b.swf", meinFilm_B);
Wenn dann Film B geladen ist:
ActionScript:
  1. // wieder Film A:
  2. trace(_root.meinFilm.meineVar_B);
Aus dem anderen:
ActionScript:
  1. // Film B:
  2. this.meineVar_B = "ich wohne in B";
  3. trace(_root.meineVar_A);
Damit würde ich jetzt erstmal experimentieren und vielleicht im Debugger mir den Baum angucken, in dem alle MCs aufgeführt sind. Das gilft schon viel fürs Verständnis.

Noch zwei Sachen:
Weil alle Flashfilme auch von anderen Flashfilmen geladen werden können, ist die Verwendung von _root (bzw. _level0) meinst nicht klug. Besser ist es mit this und _parent zu arbeiten. Dann gibts auch keine Schwierigkeiten, wenn du später feststellst, dass du deinen Film doch lieber ein einen anderen einbettest, weil vorher vielleicht noch ein Intro laufen soll oder so.

Ein weiteres Problem ist, dass man bei loadMovie nicht weiß, wann zur Laufzeit das Laden des Films abgeschlossen ist und man auf die Variablen zugreifen kann. Man könnte das mit onEnterFrame umgehen, aber das ist nur ein Workaround, und da ist es ganz wichtig, die oEF wieder zu löschen, sonst geht es auf die Performance und/oder kann ganz seltsame Fehler produzieren.
Besser verwendest du gleich die MovieClipLoader-Klasse. Die ist in der Flash-Hilfe recht gut beschrieben. Da kann man einen Listener platzieren, der insbesondere genau dann reagiert, wenn das erste Bild des geladenen Film abgespielt wird, also auch die Variablen verfügbar sind (onLoadInit). Außerdem kann man während des Ladens alles wichtige abfragen, um z.B. einen Ladebalken zu bauen oder eine Fehlermeldung auszugeben, wenn das Laden nicht geklappt hat.
__________________
Gruß
Wanst

Reden ist Silber, Schweigen ist Gold! ... Meistens
wanst ist offline   Mit Zitat antworten
Alt 27-04-2010, 22:09   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 487
Exclamation

Vielen Dank für Deine Antwort!
Das mit dem this und root und dem level0 wusste ich noch gar nicht.

Mit freundlichen Grüßen
Firemice
Firemice ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
extern, loadmovie, parameter, übergeben

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Externe Parameter kommen nicht an cneo ActionScript 3 8 02-12-2009 14:00
Loadmovie-URL mit Parameter? boeschung Flash Einsteiger 4 26-02-2007 17:50
parameter url bei loadMovie commander-x ActionScript 1 7 12-06-2003 10:15


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:43 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele