如何将光标锁定在 Mac OS X 上的窗口内部?
Posted
技术标签:
【中文标题】如何将光标锁定在 Mac OS X 上的窗口内部?【英文标题】:How can I lock the cursor to the inside of a window on Mac OS X? 【发布时间】:2011-06-06 06:50:09 【问题描述】:我正在尝试为 Mac OS X 制作一款游戏,该游戏涉及大量快速动作和鼠标光标移动。如果用户想在窗口模式下玩,我很想将光标锁定在窗口内部,以避免在激烈的战斗中意外更改程序(显然,如果用户更改程序或点击转义,这将自行取消暂停菜单。)
在 Windows 上,这可以通过 ClipCursor() 轻松完成。我在 Mac OS X 上找不到对应的版本。有吗?
【问题讨论】:
查看非常相似的问题 SO 4642867 为 Linux 提出同样的问题。 【参考方案1】:看看 CGWarpMouseCursorPosition、CGAssociateMouseAndMouseCursorPosition 和 CGGetLastMouseDelta(ApplicationServices 的一部分)。
见http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/Quartz_Services_Ref/Reference/reference.html
【讨论】:
虽然这看起来非常非常有希望,但我遇到了一些可怕的光标刷新率问题。 SetMouseCoalescingEnabled 没有帮助。我会在这方面做更多的工作,如果我弄清楚发生了什么我会发布,但目前我无法想出任何可用于这些功能的东西。 你有没有想过这个问题?现在在 mac 上以窗口模式玩游戏时遇到同样的问题。以上是关于如何将光标锁定在 Mac OS X 上的窗口内部?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用宏在Mac OS X上将MS word(docx)保存为安全/锁定PDF
如何让 Mac OS X 上的可可 emacs 加载新窗口的 .emacs 可视化自定义(第一个之后打开的任何文档)?