| |||||||
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: Dec 2011
Beiträge: 5
| Alle EventListener bei unloadAndStop() entfernen
Hallo zusammen, ich habe folgendes Problem: Ich habe eine Navigation, mit der ich 4 andere SWFs auf die Bühne der Navigation.swf laden kann. Bei Mausklick auf einen der entsprechenden NaviButtons wird die alte SWF von der Bühne entfernt und die neue reingeladen. Und genau das ist das Problem. Ich entferne die alte swf mit removeChild(loader) und gebe zusätzlich loader.unloadAndStop() an, damit alle EventListener des alten swfs entfernt werden. Bei 3 der Dateien funktioniert das auch so, nur bei der 4. nicht. Die vierte Datei ist ein Spiel und wenn ich gerade mitten im Spiel bin (dort werden über EnterFrame Events Elemente auf die Bühne gebracht), laufen diese immer im Hintergrund weiter und werden nicht gestoppt, was dann irgendwann das Skript zum Absturz bringt. Kann mir da irgendjemand einen Tipp geben? Ich bekomme immer folgende Fehlermeldung,wenn ich bei "laufendem" Spiel eine neue swf reinladen will: at datei_fla::MainTimeline/moveBombe() TypeError: Error #1009: Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich. Danke schonmal für eure Hilfe. |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.325
|
installiere ein REMOVE_FROM_STAGE event auf das geladene swf du musst alle events u.ä. die du setzt auch rechtzeitig wieder selbst entfernen. es gibt keinen prozess, der selbszständig alles das finden und rauskicken könnte. deine fehlermeldung besagt, das du in der angegebenen function in moveBombe auf eine eigenschaft zugreifen willst, diese (dessen object) zu diesem zeitpunkt aber garnicht mehr existiert bzw. aus anderen gründen kein zugriff mehr erfolgen kann. warum, das musst du selbst heraus finden: trace, debuggen, ..
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (12-02-2012 um 08:48 Uhr) |
| | |
| | #3 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.164
|
Ich vermute mal, dass irgendwas in dieser nachgeladenen SWF versucht auf stage zu zugreifen. Da das z.B. beim Nachladen zu den beschrieben Problemen führen kann, sollte man aber auf stage soweit wie irgend möglich vezichten!
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Dec 2011
Beiträge: 5
|
Ich habe mal den Code, der immer auf die Funktion zugreifen will,die nicht mehr existiert: PHP-Code: PHP-Code: |
| | |
| | #5 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.325
|
das bombeTimer.stop stoppt nur die animation, zum nächsten frame zu gehen. und wer stoppt deinen timer? das z.b. gibt es 2x e.currentTarget.removeEventListener(Event.ENTER_FR AME,moveBombe); removeChild(DisplayObject(e.currentTarget)); das sollte dir schonmal zu denken geben. erstelle eine function, die alles installiert und eine, die genau all das wieder deinstalliert. zu JEDEM addEventListener gehört auch ein removeEventListener. und stelle sicher, das das auch ausgeführt wird. wie schon geschrieben, ein REMOVE_FROM_STAGE ist eine gute zeit das zu tun. dein if (e.currentTarget.hitTestObject(Hai)) sollte oben bei dem +10 dazu (die 10 in eine constante schreiben) weil du löschst das objekt und danach kommt dein try-block. und versuche dich mal in OOP ein zu arbeiten ;-)
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (12-02-2012 um 11:38 Uhr) |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| eventlisterner, load, unload |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Eventlistener entfernen | Joralin | ActionScript 3 | 5 | 12-12-2011 02:04 |
| EventListener entfernen | art0815 | ActionScript 3 | 1 | 18-07-2011 23:25 |
| alle Eventlistener entfernen | Mischap | ActionScript 3 | 2 | 28-02-2011 22:32 |
| EventListener entfernen | jeahbaby | ActionScript 3 | 11 | 07-07-2010 11:08 |
| EventListener entfernen | DjMichi | ActionScript 3 | 3 | 31-01-2008 13:39 |