두 개의 장면이 있습니다. 장면 1에는 자동으로 자식을 추가하는 스크립트가 addChild(nameObject);
을 사용하여 다음 장면으로 이동합니다.어린이가 있는지 확인하십시오.
장면 2에서 장면 1로 돌아 오면 코드에서 다른 개체를 생성합니다. 자식이 이미 무대에 있는지 확인하는 AS3 스크립트를 만드는 방법은 무엇입니까?
두 개의 장면이 있습니다. 장면 1에는 자동으로 자식을 추가하는 스크립트가 addChild(nameObject);
을 사용하여 다음 장면으로 이동합니다.어린이가 있는지 확인하십시오.
장면 2에서 장면 1로 돌아 오면 코드에서 다른 개체를 생성합니다. 자식이 이미 무대에 있는지 확인하는 AS3 스크립트를 만드는 방법은 무엇입니까?
당신은 대부분의 아마 DisplayObjectContainer
의 contains()
방법을 찾고 :
지정된 표시 객체가
DisplayObjectContainer
인스턴스 또는 인스턴스 자체의 자식인지 여부를 결정합니다. 검색 은DisplayObjectContainer
인스턴스를 포함하는 전체 표시 목록을 포함합니다. 손주, 증손자 등은 각각true
입니다.
if (!contains(nameObject)) {
// the object is not a child of the container
addChild(nameObject);
}
좋은 답변이지만 가능한 부모가 알려진 것처럼), if (nameObject.parent! = this)'를 실행하는 것이 모든 자식을 통해 재귀 적 검색을 수행하지 않는 것이 더 효율적이라는 것입니다. – BadFeelingAboutThis
@BadFeelingAboutThis 작업이 진행되지 않아 개체가 계속 스테이지에 추가됩니다. – Jack
'contains (nameObject) '? http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObjectContainer.html#contains() – 3vilguy