2017-05-24 21 views
0

私は2つのシーンを持っています。シーン1には、addChild(nameObject);を使って子を自動的に追加するスクリプトがあります。ボタンもあり、次のシーンに移動します。子供がいるか確認してください

シーン2からシーン1に戻ると、コードによって別のオブジェクトが生成されます。子どもがステージに既に存在するかどうかを確認するAS3スクリプトを作成するにはどうすればよいですか?あなたはおそらくDisplayObjectContainercontains()方法を探している

+2

'contains(nameObject)'? http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObjectContainer.html#contains() – 3vilguy

答えて

2

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

if (!contains(nameObject)) { 
    // the object is not a child of the container 
    addChild(nameObject); 
} 
+1

これは良い回答ですが、私は(潜在的な親はこれは、if(nameObject.parent!= this) 'を実行する方が、すべての子を介して再帰的な検索をしない方が効率的であるということです。 – BadFeelingAboutThis

+0

@BadFeelingAboutThisそれは動作しません、オブジェクトはステージに追加し続けます – Jack

関連する問題