2017-05-02 2 views
0

Cocoa에 게임을 개발 중이며 사용자가 마우스를 움직이면 화면이 카메라 움직임을 제한합니다. 마우스 커서는 숨겨졌지만 실제 마우스가 움직일 때들을 때가 아니라 마우스 커서가 움직일 때를 듣고 싶습니다. 나는 약 IOKit에 대해 들었지만 너무 낮은 수준 인 것 같습니다. 그렇게 할 수있는 높은 수준의 방법이라면 어떻게? 그리고 다른 방법으로는 IOKit을 어떻게 사용합니까?Cocoa는 커서가 아닌 마우스가 움직일 때 마우스 움직임 이벤트를 수신 대기합니다.

답변

1

커서를 숨기면 CGAssociateMouseAndMouseCursorPosition(FALSE)으로 전화하십시오. 그러면 마우스 이동으로 커서가 움직이지 않도록 할 수 있습니다.

마우스 (버튼은 이동 중에 누르면 여부에 따라) 이동과 같이 NSEventTypeMouseMoved, NSEventTypeLeftMouseDragged, NSEventTypeRightMouseDraggedNSEventTypeOtherMouseDragged 이벤트를 얻을 것

. 커서가 움직이지 않기 때문에 locationInWindow은 의미가 없습니다. 마우스에서 커서의 연결을 끊었을 때의 마지막 위치를 계속해서보고합니다. 그러나 deltaX 및속성은 마우스가 얼마나 멀리 그리고 어떤 방향으로 움직 였는지 나타냅니다.