0

こんにちは、ここで助けが必要な皆さん。基本的には、(guy1) が hitTestObject (home1_mc) にヒットした後、フレーム 4 に進みたいと考えています。

これは私が得るエラーです:

ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
    at flash.display::DisplayObjectContainer/removeChild()
    at DNAGames2_fla::MainTimeline/exitFrameHandler()
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
    at flash.display::DisplayObjectContainer/removeChild()
    at DNAGames2_fla::MainTimeline/exitFrameHandler()

そして、これは私のコードです:

function exitFrameHandler(event:Event):void{
if(guy1.hitTestObject(home1_mc)) {
        removeChild(guy1);
        removeChild(guy2);
        removeChild(guy3);
        removeChild(o1);
        removeChild(cherry1);

        gotoAndStop(4);         
    }       
}

子を削除しようとした理由は、ゲームのメニューを切り替えた後もまだ画面に表示されているためです。どんな助けでも大歓迎です

4

1 に答える 1

0

ハンドラーにも追加する必要があるかもしれません。

removeEvetListener(EVENT_TYPE, exitFrameHandler);

リスナーが 2 回呼び出されると、正確なエラーが発生します。1 回目は子を削除し、2 回目はコンテナーの子ではなくなった表示オブジェクトを削除しようとするためです。

于 2014-05-06T18:27:08.153 に答える