| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jan 2002 Ort: Dresden
Beiträge: 6
| Probleme mit onClipEvent(load) nach loadMovie
Hallo, hab folgendes Problem: Hänge ich an einen MC manuell einen Eventhandler, geht er ja nach einem loadMovie in diesen MC nicht verloren. onClipEvent(load) wird also ausgeführt, wenn der MC das erste Mal auf der Bühne erscheint (dupliziere diesen MC ca. 25mal und lade dann überall Bild-SWFs rein) und zum zweiten Mal, nach dem in diesen MC was geladen wurde. Das klappt auch. Allerdings funktioniert beim zweiten Mal kein Verweis auf andere Timelines/Objekte/Variablen. So funzt beispielsweise onClipEvent(load){ trace(_width); } problemlos, allerdings trace(this._width) oder (this) oder (_parent) funzt nicht. Habe also keine Möglichkeit, beim Zweiten mal in Interaktion zu treten. Klar könnte ich es mit if(getBytesLoaded() ... probieren, aber eigentlich würde ich lieber das Problem lösen. Hab auch schon probiert, einen zweiten Handler zu erzeugen, falls die Zugriffe erst nach Framewechsel klappen, aber das funktioniert nur beim ersten Durchlauf (MC auf der Bühne), nicht aber beim zweiten Mal (fertiges Laden in den MC): onClipEvent(load){ onEnterFrame = function(){ --_root.counter; trace(_root.counter); delete onEnterFrame; } } Was mache ich falsch? Viele Grüße, slartibartfas |
| | |
| | #2 (permalink) | |
| Gast
Beiträge: n/a
| Zitat:
Eine Funktion auf der Hauptzeitleiste, die Interaktionen mit dem MC auslöst und ein attachMovie machen das besser.BTW: Ich habe gerade mal testhalber ein Rechteck erstellt, in einen MC konvertiert, ihm den Instanznamen mc1 gegeben und folgenden Clipevent draufgelegt: ActionScript:
Ausgabe im Testmodus: _width=52.95 this=_level0.mc1 this._width=52.95 this._parent=_level0 Also musst du etwas falsch gemacht haben... | |
|
| | #3 (permalink) |
| Neuer User Registriert seit: Jan 2002 Ort: Dresden
Beiträge: 6
|
Ja natürlich macht er das dann. Hab ich ja auch geschrieben, dass das funktioniert. Es geht darum, dass wenn man in diesen MovieClip mit loadMovie einen anderen Inhalt reinlädt. Dann wird ja der EventHandler ein zweites Mal ausgeführt - und da (und nur da) - gibts die Probleme.
|
| | |
| | #4 (permalink) |
| Gast
Beiträge: n/a
|
Wie gesagt: nimm keine clipEvents, sondern leg den loadMovie mit dem entsprechende Zielpfad als Script in einen Schlüsselframe der Hauptzeitleiste, z.B. ActionScript:
|
|
| | #6 (permalink) |
| Gast
Beiträge: n/a
|
Ich hab dich schon richtig verstanden... Clipevents geben halt arge Probleme, wenn sie mehrere Male geladen werden können und nicht alle Variablen wasserdicht daraufhin gecheckt werden. Weiterhin sind Clipevents Relikte aus Flash4-Zeiten und sollten überhaupt nicht mehr genutzt werden, denn dafür gibt es die Zeitleisten-Eventfunktionen onRelease, onPress, onRollOver etc. Und weiterhin verlierst du sehr schnell die Übersicht, wenn du viele MCs auf deiner Hauptzeitleiste, bzw. viele MCs ineinander verschachtelt hast. Du musst dann ja bei Clipevents alle Objekte anklicken, um überhaupt die Scripte wiederfinden zu können. Wenn du mit Zeitleistenscripten arbeitest, kannst du alle Scripte in einem Frame schön übersichtlich sammeln... |
|
| | #7 (permalink) |
| Neuer User Registriert seit: Jan 2002 Ort: Dresden
Beiträge: 6
|
Jepp, allerdings wollte ich nicht wissen, wie man einen MC lädt. Es ging es hier explizit darum, ob man einen (alten Flash5-) onClipEvent(load)-Hander als Preloader einsetzen kann, weil EventHandler à la movieClip.onSchlagmichtotwasauchimmer logischerweise gelöscht werden nach einem movieClip.loadMovie(...) Ich wollte halt nur nicht jeden duplizierten MC eine Preloaderschleife mit auf den Weg geben (wie ich es bisher immer gemacht habe): path.bild.loadMovie(_root.vars_url+path.swf); path.onEnterFrame = function() { if (this.bild.getBytesLoaded() == this.bild.getBytesTotal() && this.bild.getBytesTotal()>0) { trace("Nun ist er geladen") delete this.onEnterFrame; } }; btw.: wie fügt man hier eigentlich formatiertes ActionScript ein ![]() viele grüße, slartibartfas |
| | |
| | #9 (permalink) | |
| Gast
Beiträge: n/a
| Zitat:
Script Eckige Klammer auf /AS Eckige Klammer zu Aber bitte die echte Klammer setzen, nicht den Text. Ist hier nur zur Demo, sonst würde der ein formatiertes Feld setzen... | |
|
| | #10 (permalink) |
| Neuer User Registriert seit: Jan 2002 Ort: Dresden
Beiträge: 6
| ActionScript:
Viele Grüße, Dominik ____________________________________ www.schech.net | Visuelle Kommunikation |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |