• SpryFlashCMS das Flash CMS
  • Flash on the Beach 2010 in Brighton!
  • Adobe User Group
Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-07-2008, 15:11   #1 (Permalink)
Neuer User
 
Registriert seit: Mar 2007
Beiträge: 31
aus swf auf variablen des loader swfs zugreifen

hallo zusammen,

ich lade ein externes swf ("child.swf") per loader klasse in die Bühne von main.fla. Gerne würde ich aus dem child.swf auf die variablen von main zugreifen. Doch leider habe ich bisher keine Lösung hierfür gefunden. Müsste doch theoretisch über parent oder so gehen oder?

Der Zugriff main auf child funktioniert tadellos, aber leider muss es in der anderen Richtung funktionieren.

Wär top wenn mir da jemand auf die Sprünge helfen könnte.

Beste Greetz,
Flo
spierala@gmx.de ist offline   Mit Zitat antworten
Alt 08-07-2008, 15:31   #2 (Permalink)
Rhett Butler
 
Benutzerbild von RhettButler
 
Registriert seit: Nov 2006
Beiträge: 516
Zitat:
Zitat von spierala@gmx.de Beitrag anzeigen
ich lade ein externes swf ("child.swf") per loader klasse in die Bühne von main.fla.
Davon rate ich dir generell ab.

Du kannst die externe SWF auf zwei verschiedene Arten importieren lassen:

1. durch die Funktion loadMovie(). Damit kannst du an SWF´s, welche sich in irgend einem Verzeichnis befinden bzw. auf einer URL.

2 - SEHR ZU EMPFELEN. attachMovie() Du importierst erstmal die SWF in deine Bibliothek, wo sie anschließend als MC erscheint. Mit attachMovie() fügst du den MC (externe SWF in der Bibliothek) ein.

VORROAUSSETZUNG zu Punkt 2: Klicke mit der rechten Maustaste in der Bibliothek auf deinen MC (externe SWF) => Eingenschaften => Export für ActionScript => einen Namen vergeben

VORTEIL zu Punkt 2: mit attachMovie() kannst du, gleichzeitig, während dessen du diese Funktion verwendest und somit den MC (SWF) einfügst, auch noch alle Eigenschaften (_x, _y, _height, _width, usw.) bestimmen. Das ist ein toller Vorteil!



Wenn du dann Variablen in der externen SWF zugreifen möchtest, musst du den Namen deiner externen SWF angeben (welchen du vorteilhafter Weiße per attachMovie() vergeben hast) an und dann deinen Variablennamen. Also im grunde genommen genau so simpel wie in der FLA erzeugte MC´s, welche sich auf der Bühne befinden.


Christoph

Geändert von RhettButler (08-07-2008 um 15:36 Uhr)
RhettButler ist offline   Mit Zitat antworten
Alt 08-07-2008, 15:38   #3 (Permalink)
undefined
 
Benutzerbild von mildesign
 
Registriert seit: Jul 2001
Ort: Stuttgart
Beiträge: 1.667
Zitat:
Zitat von Chris1505 Beitrag anzeigen
1. durch die Funktion loadMovie(). Damit kannst du an SWF´s, welche sich in irgend einem Verzeichnis befinden bzw. auf einer URL.

2 - SEHR ZU EMPFELEN. attachMovie() Du importierst erstmal die SWF in deine Bibliothek, wo sie anschließend als MC erscheint. Mit attachMovie() fügst du den MC (externe SWF in der Bibliothek) ein.

VORROAUSSETZUNG zu Punkt 2: Klicke mit der rechten Maustaste in der Bibliothek auf deinen MC (externe SWF) => Eingenschaften => Export für ActionScript => einen Namen vergeben

VORTEIL zu Punkt 2: mit attachMovie() kannst du, gleichzeitig, während dessen du diese Funktion verwendest und somit den MC (SWF) einfügst, auch noch alle Eigenschaften (_x, _y, _height, _width, usw.) bestimmen. Das ist ein toller Vorteil!



Wenn du dann Variablen in der externen SWF zugreifen möchtest, musst du den Namen deiner externen SWF angeben (welchen du vorteilhafter Weiße per attachMovie() vergeben hast) an und dann deinen Variablennamen. Also im grunde genommen genau so simpel wie in der FLA erzeugte MC´s, welche sich auf der Bühne befinden.


Christoph
Öhm wir sind hier im AS3 Bereich ;o)

Davon abgesehen ist attachMovie() toll da man sich nicht um so "blöde" Dinge wie asynchronen Programmablauf kümmern muss. Es steigt aber erheblich die Dateigröße der SWF.

Back2Topic

Ich habs zwar noch nicht gemacht aber dein Film befindet sich in loader.content d.h. content.parent ergibt den loader nicht dein Main Movie (ungetestet!) Arbeitest du mit Klassen oder einem Zeitleistenscript? Bei einer Klasse könntest du über eine statische Variable oder Funktion einen globalen Zugriff erreichen.
__________________
mfg Frank

Geändert von mildesign (08-07-2008 um 15:45 Uhr)
mildesign ist offline   Mit Zitat antworten
Alt 02-12-2008, 14:19   #4 (Permalink)
Aushilfs-Flasher
 
Registriert seit: Jul 2008
Beiträge: 144
Zitat:
Ich habs zwar noch nicht gemacht aber dein Film befindet sich in loader.content d.h. content.parent ergibt den loader nicht dein Main Movie (ungetestet!)
hier beginnt mein problem: gibts denn ne möglichkeit, dass der mir den main movie ausgibt? weil den würd ich brauchen...
__________________
Man muss nicht wissen, wie es geht,
man muss nur wissen, wo es steht.
Eddie_Mc_Flash ist offline   Mit Zitat antworten
Alt 02-12-2008, 14:56   #5 (Permalink)
Flashaholic
 
Benutzerbild von agedoubleju
 
Registriert seit: Nov 2001
Ort: Wilhelmshaven
Beiträge: 33.082
Du kannst über loader.content auf den Film und mit loader.content.deinMC direkt auf MCs im nachgeladenen Film zugreifen. Der nachgeladene Film muss aber natürlich auch in AS3 geschrieben sein.
__________________
Gruß
Holger
agedoubleju ist offline   Mit Zitat antworten
Alt 02-12-2008, 15:06   #6 (Permalink)
Aushilfs-Flasher
 
Registriert seit: Jul 2008
Beiträge: 144
Danke für deine Antwort, aber ich glaube du hast mich falsch verstanden.
Ich will vom SWF in der zweiten Stufe (dasjenige, das hineingeladen wurde) auf das SWF in der ersten Stufe (das ursprüngliche SWF) zugreifen
__________________
Man muss nicht wissen, wie es geht,
man muss nur wissen, wo es steht.
Eddie_Mc_Flash ist offline   Mit Zitat antworten
Alt 02-12-2008, 16:19   #7 (Permalink)
Flashaholic
 
Benutzerbild von agedoubleju
 
Registriert seit: Nov 2001
Ort: Wilhelmshaven
Beiträge: 33.082
Starte im nachgeladenen Film einen dispatchEvent und fang ihn im Hauptfilm mit einem Listener ab.
__________________
Gruß
Holger
agedoubleju ist offline   Mit Zitat antworten
Alt 02-12-2008, 17:04   #8 (Permalink)
obvious
 
Registriert seit: Dec 2007
Ort: Berlin
Beiträge: 125
Da du ja vom ladenden SWF aus Funktionen im geladenen SWF aufrufen kannst, gib dem geladenen doch einfach eine Referenz auf ein Object oder eine Funktion im ladenden SWF.

Ich habe auch mal irgendwo gelesen, dass man (ich vermute im ladenden SWF) einstellen kann, was das geladene SWF alles darf.

Generell sind EventListener aber die sauberere Lösung, wie hw ja schon sagte.
__________________
I´m gone to shot some aliens for kingdom and glory, for welfare and for life itself
xisari ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:24 Uhr.

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


Copyright ©1999 – 2010 Marc Thiele und Sascha Wolter.