【发布时间】:2008-09-18 18:06:13
【问题描述】:
在我尝试为 OS X 编写游戏手柄代码之前,我一直认为自己是一个不错的程序员。现在我觉得自己很没用。
有人知道我可以在我的(非免费)游戏中合法使用的任何代码吗?
在 OS X 上与游戏手柄对话真的这么难吗?我错过了什么?
【问题讨论】:
在我尝试为 OS X 编写游戏手柄代码之前,我一直认为自己是一个不错的程序员。现在我觉得自己很没用。
有人知道我可以在我的(非免费)游戏中合法使用的任何代码吗?
在 OS X 上与游戏手柄对话真的这么难吗?我错过了什么?
【问题讨论】:
查看 HID 管理器,尤其是新的 HID Manager APIs in Leopard。它有点冗长,但其本质是可以在连接和分离设备时获取回调,并在来自这些设备的事件入队时获取回调。
如果您正在使用 Cocoa,Dave Dribin 具有 DDHidLib,它在 HID 管理器之上提供了更好的 Objective-C API,并且也可以在 Tiger 上运行。
【讨论】:
原来答案是 Apple 的 HID_Utilities,它(在某种程度上)简化了与 HID 管理器对话的工作。
John Carmack 说 Apple 不关心游戏时真是一针见血……
【讨论】:
在 OSX 上获取游戏手柄事件的最快方法是使用游戏库 SDL。 您不必使用整个库,只需初始化操纵杆子系统即可 然后轮询或等待 SDL_JOYAXISMOTION 和 SDL_JOYBUTTONUP/DOWN 事件。 SDL 拥有 LGPL 许可证,因此您可以在非免费游戏中动态链接到它。
简单!
【讨论】:
没有代码,但使用InputSprocket 机制与游戏手柄等进行通信非常简单。您遇到的具体问题是什么?
【讨论】: