-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 に答える