AS3 1009哪里出错?

时间:2012-06-20 15:31:07

标签: actionscript-3

所以我有以下代码:

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)

因为它太大了。

1 个答案:

答案 0 :(得分:1)

在侦听器之前将其添加到构造函数:

this.scena = scena;