2017-05-24 21 views
0

두 개의 장면이 있습니다. 장면 1에는 자동으로 자식을 추가하는 스크립트가 addChild(nameObject);을 사용하여 다음 장면으로 이동합니다.어린이가 있는지 확인하십시오.

장면 2에서 장면 1로 돌아 오면 코드에서 다른 개체를 생성합니다. 자식이 이미 무대에 있는지 확인하는 AS3 스크립트를 만드는 방법은 무엇입니까?

+2

'contains (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