starling-layer (게임 자체)를 사용하는 게임과 이와 유사한 Popups 및 Stuff가 포함 된 클래식 디스플레이 목록을 만듭니다.DisplayEvent 뷰를 Starling 뷰로 MouseEvent- 전파하기
나는 문제가있다. MouseEvents가 displayList 요소에 생성되면 항상 starling 레이어로 이동하여 TouchEvents 등을 생성하는데 이는 매우 짜증 스럽다.
나는 그것을 처리하기위한 몇 가지 일반적인 (그리고 사용하기 쉬운) 접근법이 궁금합니다.
interfaceElement.addEventListener(MouseEvent.MOUSE_MOVE, stopPropagationHandler);
interfaceElement.addEventListener(MouseEvent.MOUSE_DOWN, stopPropagationHandler);
interfaceElement.addEventListener(MouseEvent.MOUSE_UP, stopPropagationHandler);
private function stopPropagationHandler(e:MouseEvent):void {
e.stopPropagation();
}
그러나 이것은 나에게 매우 불쾌한 같습니다
하나의 가능성은 다음 이벤트에 대한 모든 DisplayList가-요소를 청취했다. 그리고 그런 식으로해도 문제가 하나 더 있습니다. starling-element가 display-list-element 아래에 있고 롤오버 비헤이비어 >>에 대한 TouchEvent.TOUCH가있는 경우 롤오버 모양이 display-list-element 위로 마우스를 가져 가면 starling에서 제거 될 수 있습니다.
나는 모든 display-list-element 뒤에 dummy starling 요소를 두는 것에 대해서 생각했다. 이벤트를 멈추기 위해 생각했다. 그러나 그러한 모든 "단순한"작업에 대해서는 "지나치게 복잡하다". 또는 뭔가 빠졌습니까?
힌트를 많이 주시면 감사하겠습니다. 감사합니다. .
모달 팝업이 재생되면 설정되는 이벤트 전파 블록 대신 전역 적으로 사용할 수있는 플래그를 사용한다고 말하고 싶습니다. starling 수준의 각 이벤트 핸들러는 설정되어 있는지 먼저 확인한 다음 반환하면 SWF의 Starling 부분이 팝업되는 동안 아무런 반응이없는 것처럼 동작합니다. – Vesper
@Vesper thanks ..하지만 이미 언급했듯이 이것은 모달에만 적용됩니다. :/ 예를 들어, 언제나 볼 수있는 채팅. – Roman