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

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-08-2004, 17:24   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 17
Zugriff auf Methoden einer über loadMovie geladenen .swf-Datei

Hallo ihr,

ich wollte nur kurz fragen, ob es irgendwie möglich ist auf Methoden eines Films zuzugreifen, wenn dieser über loadMovie geladen wurde. Wenn ja würde mich interessieren wie. Ich habe es nämlich immer so probiert, aber ohne Erfolg:

createEmptyMovieClip("sound", 1);
sound.loadMovie("soundbutton.swf", 2);
sound.mysoundon(); / Diese in soundbutton selbstgeschriebene Methode funktioniert nicht, obwohl sie in der Datei selber funktioniert.

vielen Dank für die Hilfe,
Andreas
andbub ist offline   Mit Zitat antworten
Alt 10-08-2004, 17:28   #2 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
tja...trace ist dein freund...
und die *HILFE* hier...* *

gib mal loadMovie ein und such anch genau deinen probs,---.tonnen weise infos...darüber...

aber als tip: während des loadMovie-prozesses wird der container-mc, der lädt, gelöscht und neu erstellt...deswegen gehen keine anforderungen an den mc...


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 10-08-2004, 18:40   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 17
Question

Ich komme mit der Antwort noch nicht ganz weiter. Wie kann ich denn auf den durch loadMovie neu erstellten container zugreifen? Auch was mir da trace bringen soll verstehe ich nicht.

Ich habe natürlich schon vorher gesucht, ob ich was finde im Forum oder im Web, aber das mit den tonnenweise Infos ist so ein Ding. Viel Infos gibt es sicherlich, allerdings nichts, was es genau trifft. Wenn ich im Forum loadMovie Zugriff Methoden eingebe, kommst schonmal kein Beitrag. Auch wenn ich Zugriff oder Methoden weg gelassen habe, kam ich zwar zu vielen Beiträge allerdings nichts was mir wirklich weiterhilft. So wie du es schreibst scheint die Lösung ja sehr einfach zu sein, allerdings scheinst du sie auch für dich behalten zu wollen.

andreas
andbub ist offline   Mit Zitat antworten
Alt 10-08-2004, 19:33   #4 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
du mußt einfach abwrten, bis der mc geldan hat...dann kannst dua uch wieder drauf zu greifen...

greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 10-08-2004, 19:43   #5 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
so...ich hab mich jetzt mal hingesetzt um einfach zu überprüfen, ob man mit der suchfunktion nix finden kann...

loadMovie + probleme

ergibt bei mir ne ellenlange liste an ergebnisen

und:siehe da...
mc.onRelease geht nicht nach mc.LoadMovie

hier wird z.bsp. schon von einem problem gesprochen, dass deinem sehr sehr ähnlich ist...

und davon gibt es zu dem thema tonnenweise...
[weiß ich aus jahrelanger ff-erfahrung...*grrrrr*]


soviel zum thema, man kann nix finden...


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 11-08-2004, 09:23   #6 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 17
Zitat:
Zitat von kelor
so...ich hab mich jetzt mal hingesetzt um einfach zu überprüfen, ob man mit der suchfunktion nix finden kann...

loadMovie + probleme
Also am Anfang hast du noch geschrieben, dass ich genau nach meinen Problemen suchen sollte. Jetzt wird es schon viel allgemeiner. Wenn du jetzt schon so lange im Forum dabei bist, fällt es dir natürlich einfacher aus allen Themen, dass was auch mein Problem beschreibt herauszufiltern. Denn hier tritt genau das Problem auf, dass ich schon vorher beschrieben habe. Als Flash-Anfänger fällt es mir viel schwerer aus solche threads zu abstrahieren als z.B. jemandem, der so viel Erfahrung hat wie du. Es ist nicht so, dass ich einfach kein Bock habe mir was durchzulesen, sondern dass es für einen newbie nicht so einfach ist, zu verstehen wie die Zusammenhäng zwischen den Problemen von anderen und mir sind. Ich denke du hast auch einmal angefangen Flash zu lernen und solltest diese Situation auch kennen. Ich habe mir auch die von dir beschriebenen Threads durchgelesen. Auch nach ner Stunde rum probieren bin ich da nicht weitergekommen. Ich werde es aber weiter probieren. Anscheinend muss man ja nur, dass Skript unten an seine Verhältnisse anpassen. Erweist sich aber als nicht ganz so einfahc.

Das mit dem warten bis der mc geladen ist, verstehe ich auch nicht. Wenn ich alles auf der Festplatte habe, ist es doch fast sofort geladen.
andbub ist offline   Mit Zitat antworten
Alt 11-08-2004, 22:59   #7 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
Zitat:
Das mit dem warten bis der mc geladen ist, verstehe ich auch nicht. Wenn ich alles auf der Festplatte habe, ist es doch fast sofort geladen.
ok...mal kurz erklär...

ja, es ist fast immer alles gleich da...
aber wir reen hier von millisekunden bereichen...

also, wenn ein movie auch nur 1 sekunde braucht zum laden, ist ein codezugriff nicht möglich...

bsp:
ActionScript:
  1. mc.loadMovie('irgdein.swf');
  2. mc._x = 200;

hier wird der aufruf für mc._x = 200; in der gleichen millisekunde abgefangen, wied er load-aufruf...

das ganze umgeht man in einer schleife...
man erstelle einen leeren mc [als bsp.] und loope den solange, bis der zu ladenden movie komplett geladen ist, dann lösche man diesen mc wieder bzw. löscht erst den enterframe und dann den mc...

bsp?!

ActionScript:
  1. this.createEmptyMovieClip('checker', 1234);
  2. var ch = this['checker'];
  3.  
  4. container_mc.loadMovie('deinFilm.swf');
  5.  
  6. ch.onEnterFrame = function(){
  7.     // geladene bytes des mc
  8.     var bl = _root.container_mc.getBytesLoaded();
  9.     // toatale bytes, bis alles geladen ist
  10.     var bt = _root.container.mc.getBytesTotal();
  11.     var mc = _root.container_mc;
  12.  
  13.     // wenn geladens bytes größer/gleich totale bytes und totale bytes größer 4(ein leerer mc hat 4bytes)
  14.     if( bl >= bt && bt>4){
  15.        // lösche schleife
  16.        delete this.onEnterFrame;
  17.        //ab hier dann deine anweisungen für den container
  18.        mc._x = 200;
  19.        mc._y = 300;
  20.       // etc etc...
  21.      
  22.       // mc 'checker' wieder löschen
  23.       this.removeMovieClip();
  24.    }
  25. }

verstanden?


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 17-08-2004, 18:57   #8 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 17
Ich werde aus dem code noch nicht ganz schlau. Wenn ich den Code so importiere wie er unten ist, tut sich bei mir gar nichts, sprich der Film wird gar nicht geladen. Dann habe ich die if-Bedingung mal rausgenommen, um zu gucken, ob es damit zusammenhängt. Dem war aber nicht so. Dann bin dazu übergegangen den code auf das wesentliche zu reduzieren und habe langsam Zeile für Zeile rausgenommen, die mir als nicht absolut notwendig für das Anzeigen des Filmes war. Jetzt sieht er so aus:

Actionscript:
this.createEmptyMovieClip('checker', 1);
var ch = this['checker'];
container_mc.loadMovie("soundbutton.swf");
var mc = _root.container_mc;
mc._x = 100;
mc._y = 100;

Doch das klappt auch nicht. Der Film wird immer noch nicht angezeigt. Mir ist noch nicht ganz klar wo der Fehler liegt, aber wenn ich
container_mc.loadMovie("soundbutton.swf");
in
checker.loadMovie("soundbutton.swf");
umbenenne, lädt der Film. Irgendwo im Skript scheint sich noch ein Fehler verborgen zu sein oder gibt es irgendwas, was ich noch auf meine Verhältnisse anpassen muss?
andbub ist offline   Mit Zitat antworten
Alt 17-08-2004, 22:44   #9 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
na, du solltest auch nen mc haben, der 'container_mc' heißt...

dann geht das ganze auch...


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 18-08-2004, 19:36   #10 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 17
ich habe jetzt den mc erstellt. jetzt lädt der film auch. Allerdings der Sound noch nicht, obwohl ich an der vorgeschrieben stelle geladen habe. Wenn ich den Methodenaufruf allerdings direkt nach der if-Bedienung geschieht lädt der Sound. Allerdings nicht einmal, sondern vielmals. Habe ich sonst noch etwas nicht beachtet oder womit kann das zusammenhängen?
andbub ist offline   Mit Zitat antworten
Alt 22-08-2004, 21:01   #11 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 17
das problem scheint wohl doch ziemlich komplex zu sein, wenn keiner jetzt ne antwort weiß. dann muss ich wohl ne andere lösung suchen.
andbub 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 06:57 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele