1

子が存在するかどうか、削除するかどうかを確認したいと思います。他に何もしなければ...もっと多くの子供たちのチェックもするつもりです....

stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown3);

function onKeyDown3(event:KeyboardEvent):void
{
    if( event.keyCode == Keyboard.BACK )
    {
        if (over.stage){
        event.preventDefault();
        removeChild(over);
        gotoAndPlay(350, "Scene 1");
        }else {
        event.preventDefault();
        gotoAndPlay(346, "Scene 1");        
        }

    }
}

私はそれを試しましたが、うまくいきません。しかし、それは基本的に私がやりたいことを示していると思いますが、他の子供たちのためにもっと多くのことを示しています. 「Over」はただのムービークリップ

エラー:

TypeError: Error #2007: Parameter child must be non-null.
    at flash.display::DisplayObjectContainer/setChildIndex()
    at Bike_safety_fla::MainTimeline/onKeyDown1()[Bike_safety_fla.MainTimeline::frame146:17]
    at runtime::ContentPlayer/sendKeyUpDown()
    at runtime::SimulatedMobileDeviceContentPlayer/onBack()
4

1 に答える 1

4

が表示リストにあるかどうかをテストするには、 contains()を使用します。over

DisplayObjectContainer のドキュメントから:

指定された表示オブジェクトが DisplayObjectContainer インスタンスの子であるか、インスタンス自体であるかを判断します。検索には、この DisplayObjectContainer インスタンスを含む表示リスト全体が含まれます。孫、ひ孫などはそれぞれ true を返します。

次のように実装されます。

if (this.contains(over))
{
    removeChild(over);
    gotoAndPlay(350, "Scene 1");
}
else
{
    gotoAndPlay(346, "Scene 1");        
}
于 2012-10-25T05:28:48.897 に答える