2016-07-28 1 views
0

에서 MouseMove 이벤트의 종료 또는 드래그 이벤트 메뉴 보관 후 나는 메뉴 버튼 항목을 포함하여 드래그 메뉴에 문제가 있어요. 드래그 작업이 끝나면 (화면에서 손가락을 들어 올리면) 버튼 하위 항목은 해당 MOUSE_UP 코드로 인해 작동합니다.릴리스 메뉴 항목

나는 나의 메뉴를 드롭 드래그 끝이 필요합니다. 드롭 메뉴 버튼 항목 이후에 리스너는 릴리스 (MOUSE_UP)를 시작해야합니다. 내가 어떻게 그들을 separete 수 있습니까?

은 좀 비슷한 메시지를 읽을 수 있지만 나는 내 문제를 해결 couldnt한다.

내 코드 :

addEventListener(MouseEvent.MOUSE_MOVE, dragStart); 
addEventListener(MouseEvent.MOUSE_UP, dragStop); 
function dragStart(e:MouseEvent):void { 
    e.currentTarget.startDrag(false,new Rectangle(0,0,500,0)); 
} 
function dragStop(e:MouseEvent):void { 
    e.currentTarget.stopDrag(false,new Rectangle(0,0,500,0)); 
} 

감사합니다 ..

My sample file is here

+0

게시 코드 바랍니다. – null

+0

감사합니다. null입니다. 내 질문 메시지에 내 코드를 추가했습니다. –

+0

문제는 하위 메뉴가 부모 메뉴에서'마우스 포인터'를 가져 오는 것입니까? 혹은 그 반대로도? 아니면 요점을 놓치고 있습니까? – www0z0k

답변

0

갱신 :
내가 잘못 얻고 있었다. 드래그 할 때 부모 클립에서 플래그를 전환하고 true 인 경우 자식에서 MOUSE_UP 이벤트를 무시하는 것이 좋습니다. 부모에서

:

var dragging:Boolean = false; 

function dragStart(e:MouseEvent):void{ 
    e.currentTarget.startDrag(false,new Rectangle(0,0,500,0)); 
    dragging = true; 
} 
function dragStop(e:MouseEvent):void{ 
    e.currentTarget.stopDrag(); 
    removeEventListener(MouseEvent.MOUSE_MOVE, dragStart); 
    dragging = false; 
} 

subItem에서 :

function BTN(e:MouseEvent):void{ 
    if(!(parent as MovieClip).dragging){ 
     trace("I'm a button: "+this+" Did you hit me when you sliding?"); 
    } 
} 
+0

감사합니다. www0z0k, 연구하겠습니다. e.stopImmediatePropagation 지금. –

+0

그게 전부입니다. 그것은 작동합니다. 감사합니다 www0z0k. 감사합니다 BadFeelingAboutThis 너무. 또 다른 문제는 지금 존재 나는 e.stopImmediatePropagation()를 사용하려고하지만 TIS :(​​ –

+0

안녕 www0z0k을 달성 didnt는. 화면에 내 각 터치는 휴대 전화 화면에 작은 감동에도 불구하고. 함수의 작동 하위 항목 버튼 dosnt 작업을 이동합니다. 손가락 탭은 항상 작은 움직임을 생산하기 때문에 ErkanÇamyar @ –