2014-03-13 4 views
0

특정 xy 지점에서 다른 객체가 객체를 눈으로 "차단"했는지 확인하려고합니다. 정상적인 hitTest 메서드는 두 개의 객체가 겹치거나 겹쳐져 있지 않은 경우에만 표시되며 시각적으로 보이지 않습니다. xy 좌표와 두 개의 객체를 가짐으로써이를 달성 할 수있는 방법이 있습니까? 예를 들어 2 개의 객체가 무대에 있습니다. Nr. 1은 앞에 있으며 눈에 띄게 Nr을 가리 킵니다. 2 ... 그래서 두 객체 모두 xy-hitTest는 객체 nr에 대해서만 "true"를 반환해야합니다. 다음 함수가 obj2 "앞에"OBJ1인지를 결정하기 위해 오브젝트 hitTestObject 및 하위 인덱스를 사용as3 : 객체가 다른 객체에 의해 시각적으로 차단되는지 확인합니다.

답변

0

:-) 미리 1.

감사합니다.

function isInFrontOf(obj1:DisplayObject, obj2:DisplayObject):Boolean{ 
    return obj1.hitTestObject(obj2) && (obj1.parent.getChildIndex(obj1) > obj2.parent.getChildIndex(obj2)); 
} 

중요 사항 : 두 개체의 부모가 같은 경우에만 작동합니다. 당신은 절대적으로 다른 부모들을위한 기능을 재 작업 할 수 있지만, 나는 당신에게 맡길 것입니다.

+0

감사합니다. 매력처럼 작동합니다. –