2017-05-24 114 views
0

我有兩個場景。在場景1中,有一個腳本使用addChild(nameObject);自動添加一個小孩,還有一個按鈕會轉到下一個場景。檢查孩子是否存在

當我從場景2回到場景1時,代碼會生成另一個對象。如何製作AS3腳本來檢查孩子是否已經在舞臺上存在?

+2

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

回答

2

你最有可能尋找DisplayObjectContainercontains()方法:

確定指定顯示對象是否爲 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