MOUSE_MOVE 이벤트를 수신하고 있습니다.마우스 가운데 버튼을 눌렀을 때 MOUSE_MOVE 이벤트가 전송되지 않는 이유는 무엇입니까?
마우스 가운데 버튼을 누르지 않으면 제대로 보내고받을 수 있습니다. 가운데 단추를 놓을 때까지 MOUSE_MOVE 이벤트를 더 이상 얻지 못합니다.
Flash 또는 내 마우스/컴퓨터 구성 (블루투스 Mighty Mouse on Lion)과 관련된 문제입니까?
알려진 문제가 있습니까?
다음은이 문제를 보여주는 샘플 프로젝트입니다.
왼쪽 마우스 버튼을 누른 채 드래그하면 마우스 이동 이벤트가 추적되지만 가운데 클릭은 가운데 마우스를 아래로, 가운데 마우스 만 위로 표시합니다.
import flash.events.MouseEvent;
this.stage.addEventListener(MouseEvent.MIDDLE_MOUSE_DOWN, onMiddleMouseDown);
this.stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
function onMiddleMouseDown(e:MouseEvent):void {
trace("middle down");
this.stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
this.stage.addEventListener(MouseEvent.MIDDLE_MOUSE_UP, onMiddleMouseUp);
}
function onMouseMove(e:MouseEvent):void {
trace("mouse move");
}
function onMiddleMouseUp(e:MouseEvent):void {
trace("middle up");
this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
this.stage.removeEventListener(MouseEvent.MIDDLE_MOUSE_UP, onMiddleMouseUp);
}
function onMouseDown(e:MouseEvent):void {
trace("down");
this.stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
this.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
function onMouseUp(e:MouseEvent):void {
trace("up");
this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
this.stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
UPDATE : 중간 버튼을 누르고 있으면 마우스의 위치 (mouseX과 쥐색의 속성) 업데이트되지 않는 것으로 보인다
. 나는 아직도 이유를 알고 싶거나 이것에 대한 해결 방법이 있는지 알고 싶습니다.
보인다. 난 그냥 당신의 코드를 복사하고 MOUSE_MOVE가 올바르게 발생하고 mouseX와 mouseY가 올바르게 업데이트되도록 코드를 붙여 넣었다. 꽤 이상합니다. –
아, 멋지다. 감사. 나는 그것이 Mac/Lion 일인 것 같아. 몇 가지 다른 마우스를 시도해 보았고 마우스 설정으로 손을 봤는데 아무런 차이가없는 것 같습니다. – Cadin