作者:朱金灿
来源:http://blog.csdn.net/clever101
最近因项目需要搞了一下游戏杆编程,特地总结一下收获。
首先是游戏杆的测试和配置。Windows下控制面板上有一个"游戏控制器"功能,单击打开它可以对游戏杆进行测试和配置。
刚开始在网上搜索游戏杆的编程资料。网上的资料集中在Winmm.lib中的Multimedia Joystick Functions,类似有:用VC5.0实现对游戏杆的编程。但是我测试了一下,发现使用Winmm.lib中的Multimedia Joystick Functions有一些弊端,就是Multimedia Joystick Functions只能获取1,2,3,4四个按钮的按键的消息,不能获取8个POV方向键的消息,如下图:(我使用的是VC 6.0,不排除是PlatformSDK太老的原因导致的,如果错了,有用过更高版本的PlatformSDK的Winmm.lib朋友请纠正一下,谢谢!)
我只好寻找新的获取POV方向键的方法。继续往上搜索,终于搜到一篇使用DirectInput方法获取POV方向键消息的:MFC下 DirectInput的实现,里面提到的方法确实可行。另外在Microsoft DirectX SDK (August 2009)中也有游戏手柄的相应例子,具体是$ /Microsoft DirectX SDK (August 2009)/Samples/C++/DirectInput/Joystick,其它版本的Microsoft DirectX SDK应该也有。大家可以参考一下其源码。
收获就这么多,希望能对游戏杆编程的朋友有所帮助。