Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-01-2012, 16:43   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2011
Beiträge: 12
Error 1009 nach removeChild

Hallo!

Code:
import flash.events.Event;

stop();
addEventListener(Event.ENTER_FRAME,onEnterFrame);
function onEnterFrame(event:Event)
{
	this.x +=  2;
	this.y = 100;
	if (this.x > 400)
	{
		this.parent.removeChild(this);
	}
}
Das ist der Code von meinem MC.
Beim Ausführen wandert der MC über den Bildschirm ("this.x += 2;"), wenn der MC aber bei 400 ankommt und gelöscht wird, werden mir haufenweise Fehler ausgegeben:
"TypeError: Error #1009: Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich.
at t2_creep1_fla::MainTimeline/onEnterFrame()"
Ich habe keine Ahnung, was das soll, wo der oben genannte Code der einzige ist. Was will mir das sagen, was hab ich falsch gemacht?
beobab ist offline   Mit Zitat antworten
Alt 30-01-2012, 16:50   #2 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Er will Dir sagen, dass parent nicht mehr gibt (es also null) ist, sobald Du ein Anzeigeobjekt einmal aus der Anzeigeliste entfernt hast.
Du solltest also auch den Event.ENTER_FRAME-Listner entfernen, wenn Du removeChild ausführst!
__________________
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!
Martin Kraft ist offline   Mit Zitat antworten
Alt 30-01-2012, 16:50   #3 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.498
Hi,

das ist logischer Weise, weil der EventListener weiterhin ausgeführt wird, aber der mc nicht mehr in der DisplayList vorhanden ist und damit nicht nochmal entfernt werden kann.
Code:
import flash.events.Event;

stop();
addEventListener(Event.ENTER_FRAME,onEnterFrame, true, 0, false);
function onEnterFrame(event:Event)
{
	this.x +=  2;
	this.y = 100;
	if (this.x > 400)
	{
                removeEventListener(Event.ENTER_FRAME,onEnterFrame);
		this.parent.removeChild(this);
	}
}
__________________

flintfabrik.de
shin10 ist gerade online   Mit Zitat antworten
Alt 30-01-2012, 16:55   #4 (permalink)
Neuer User
 
Registriert seit: Aug 2011
Beiträge: 12
Perfekt, das funktioniert. Danke für die schnelle Hilfe!
beobab ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
error 1009, remove, removechild

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
[Flash CS4] Error #1009 audioteufel Flash Einsteiger 7 24-06-2009 20:11
Error #1009 n82 Flex programmieren 4 20-01-2009 15:24
Animation startet erst nach wiederholtem Buttonclick (TypeError: Error #1009) punkrockbabe ActionScript 3 3 03-01-2009 01:36
[Flash CS4] Error #1009 pacman.hgw Flash Einsteiger 7 08-12-2008 19:57
TypeError: Error #1009 YuKoN183 ActionScript 3 9 05-08-2008 19:36


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele