所以我有以下代码:
package {
import flash.display.MovieClip;
import flash.events.*;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.display.Stage;
import flash.events.Event;
public class Meteorek extends MovieClip {
private var scena:Stage;
public function Meteorek(scena:Stage,x:Number, y:Number ,z:Number): void {
this.x = scena.stageWidth/2;
this.y = scena.stageHeight/2;
this.z = 1100;
addEventListener(Event.ENTER_FRAME, lasMeto ,false, 0, true);
}
public function lasMeto(e:Event):void{
z -= 10;
if(z<-100)
{
UsunZeScen();
}
}
private function UsunZeScen() : void
{
removeEventListener(Event.ENTER_FRAME, lasMeto);
if (scena.contains(this))
scena.removeChild(this);
}
}
}
最后我收到了一条错误消息。我不知道为什么。我在另一个类中有相同的代码,一切正常,所以这个错误是什么? Ť 错误发生在:
scena.removeChild(this)
因为它太大了。
答案 0 :(得分:1)
在侦听器之前将其添加到构造函数:
this.scena = scena;