【问题标题】:How can I lock the cursor to the inside of a window on Mac OS X?如何将光标锁定在 Mac OS X 上的窗口内部?
【发布时间】:2011-06-06 06:50:09
【问题描述】:

我正在尝试为 Mac OS X 制作一款游戏,该游戏涉及大量快速动作和鼠标光标移动。如果用户想在窗口模式下玩,我很想将光标锁定在窗口内部,以避免在激烈的战斗中意外更改程序(显然,如果用户更改程序或点击转义,这将自行取消暂停菜单。)

在 Windows 上,这可以通过 ClipCursor() 轻松完成。我在 Mac OS X 上找不到对应的版本。有吗?

【问题讨论】:

  • 查看非常相似的问题 SO 4642867 为 Linux 提出同样的问题。

标签: macos cursor-position mouse-cursor


【解决方案1】:

看看 CGWarpMouseCursorPosition、CGAssociateMouseAndMouseCursorPosition 和 CGGetLastMouseDelta(ApplicationServices 的一部分)。

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

【讨论】:

  • 虽然这看起来非常非常有希望,但我遇到了一些可怕的光标刷新率问题。 SetMouseCoalescingEnabled 没有帮助。我会在这方面做更多的工作,如果我弄清楚发生了什么我会发布,但目前我无法想出任何可用于这些功能的东西。
  • 你有没有想过这个问题?现在在 mac 上以窗口模式玩游戏时遇到同样的问题。
猜你喜欢
  • 1970-01-01
  • 2011-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-16
  • 2020-10-22
  • 2019-02-22
  • 2011-06-28
相关资源
最近更新 更多