2012-08-29 5 views
2

마우스 오른쪽 버튼을 눌렀는지 확인하는 부울을 만들려고합니다. 왼쪽 마우스 단추로이 방법을 사용할 수 있지만 오른쪽 마우스 버튼을 사용하면 부울이 그대로 유지됩니다. 어떻게 해결합니까?AS3 MouseEvent.RIGHT_MOUSE_UP이 작동하지 않습니다.

public var mDown:Boolean = false; 
public var rmDown:Boolean = false; 

stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseHandler); 
stage.addEventListener(MouseEvent.MOUSE_UP, mouseHandler); 
stage.addEventListener(MouseEvent.RIGHT_MOUSE_DOWN, mouseHandler); 
stage.addEventListener(MouseEvent.RIGHT_MOUSE_UP, mouseHandler); 

private function mouseHandler(e:MouseEvent){ 
    switch(e.type){ 
     case MouseEvent.MOUSE_DOWN: mDown = true; 
     break; 
     case MouseEvent.MOUSE_UP: mDown = false; 
     break; 
     case MouseEvent.RIGHT_MOUSE_DOWN: rmDown = true; 
     break; 
     case MouseEvent.RIGHT_MOUSE_UP: rmDown = false; 
    } 
} 

내 플래시는 Flash Player 11.2로 내 보냅니다. RIGHT_CLICK로 뭔가 시도해 볼 수 있을까요?

+0

마우스 핸들러에서 (e.type)을 추적하면 어떻게됩니까? – Kodiak

+0

그럼'rightMouseDown' 만 추적합니다 – tversteeg

+0

내 말 잘 작동합니다. 사용중인 IDE를 다시 설치해보십시오. – xLite

답변

3

플레이어 버전 문제 인 것 같습니다. 마우스 오른쪽 버튼을 클릭하면 컴파일되지만 11.2에서는 런타임에 자동으로 실패합니다. 11.4에서는 제대로 컴파일되고 실행됩니다. 필자는 Flash CS6에서 플레이어 버전이 WIN 11,2,202,228이고 테스트 한 것과 동일한 침묵 오류를 테스트했습니다.

내 버전의 완성이 새 enum 이벤트 값을 인식하지 못하기 때문에 "rightMouseDown"및 "rightMouseUp"의 오른쪽 마우스 열거를 바꿔서 테스트 한 다음 프로젝터 디버거 버전 WIN 11,4,402,265로 테스트했습니다. , 오른쪽 마우스를 위아래로 움직이면 모두 정상적으로 작동합니다. 또한 Win 7 컴퓨터에서 IE, Firefox 및 Chrome 버전 11.5.x * 플러그인 및 활성 X 플레이어의 최신 프로덕션 릴리스에서도 잘 작동합니다.

사용중인 개발 환경이 무엇인지, 그리고 Flash Pro CS *에서 플레이어 버전을 업그레이드하는 방법을 잘 모르겠지만 FlashBuilder 나 FlashDevelop에서는 쉽게 이해할 수 있습니다. 그리고 이미 flash.system.Capabilities.version을 사용하여 테스트중인 플레이어 버전을 다시 확인할 수 있다는 것을 이미 알고있을 것입니다. 내 시스템의 .swf 파일 연결이 정상적으로 11.4 디버거와 함께있을 때 CS6이 여전히 11.2를 사용한다는 사실에 놀랐습니다.

+0

글쎄요, 플래시 CS6이 있는데 업데이트하려고하는데 작동하지 않아서 FlashBuilder를 설치합니다. – tversteeg

+0

CS6에서 사용하는 플레이어를 업그레이드하는 방법을 알아 내면 여기에 다시 게시 될 수 있습니다. 나는 할 수 없었다. – JcFx

관련 문제