Mac Carbon中的GetCursorPos()等效函数

1 投票
1 回答
1188 浏览
提问于 2025-04-15 15:02

背景 我们正在将基于PythonOgre的游戏移植到Mac上,而出版商要求鼠标能够离开窗口。在Windows上,我们绕过了OIS(面向对象的输入系统)来控制鼠标;也就是说,我们不让OIS把鼠标锁在窗口边界内,而是使用GetCursorPos()这个Win32 API来跟踪鼠标光标在屏幕上的位置。

我们不能轻易修改Ogre3d的循环——这至少需要重新构建库,还要重新构建包装器,这在我们的构建机器上可能需要整整一天的时间。理论上我们可以修改OIS,但由于时间紧迫,我们也不想不必要地去动它。

问题 在Mac上,获取屏幕上鼠标光标坐标的Carbon API是什么,类似于Windows API的GetCursorPos()

1 个回答

1

我觉得你想要的功能是 GetMouse()。你可以在苹果的UIElementInspector 示例代码中找到一个例子。不过,这个例子是用 Obj-C 写的,不是 Python。

补充一下:根据 NSD 的说法,HIGetMousePosition() 是更推荐的方法。

撰写回答