-2

所以我有以下代码:

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);
    }
}
}

最后我收到一条错误消息。我不知道为什么。我在另一个类中有相同的代码,一切正常,那么这个有什么问题?T 错误发生在:

scena.removeChild(this)

因为它太大了。

4

1 回答 1

1

将此添加到侦听器之前的构造函数:

this.scena = scena;
于 2012-06-21T09:57:47.160 回答