2011-01-10 6 views
9

Estoy tratando de armar un juego para Mac OS X que implica una gran cantidad de acción rápida y arrojando el cursor del mouse. Si el usuario quiere jugar en modo ventana, me gustaría bloquear el cursor en el interior de la ventana para evitar el cambio accidental de programas en el fragor de la batalla (obviamente, esto se cancelará si el usuario cambia de programa o golpea para escapar). el menú de pausa.)¿Cómo puedo bloquear el cursor en el interior de una ventana en Mac OS X?

En Windows, esto se puede realizar fácilmente con ClipCursor(). No puedo encontrar un equivalente en Mac OS X. ¿Hay alguno?

+0

Ver pregunta muy similar [SO 4642867] (http://stackoverflow.com/questions/4642867/how-can-i-lock-the-cursor-to-the-inside-of- a-window-on-linux) haciendo la misma pregunta para Linux. –

Respuesta

7

Eche un vistazo a CGWarpMouseCursorPosition, CGAssociateMouseAndMouseCursorPosition y CGGetLastMouseDelta (parte de ApplicationServices).

Ver http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/Quartz_Services_Ref/Reference/reference.html

+0

Si bien esto se ve muy, muy prometedor, estoy teniendo algunos problemas horribles de actualización del cursor. SetMouseCoalescingEnabled no ha sido útil. Trabajaré en esto más, y si averiguo qué está pasando, lo publicaré, pero por el momento no puedo encontrar nada útil con estas funciones. – ZorbaTHut

+0

¿Alguna vez resolvió esto? Tener el mismo problema ahora mientras juegas juegos en modo ventana en mac. – jtanman

Cuestiones relacionadas