RSS
当前位置 : 电脑维修 > 电脑维修 > oepnGL中的joystick的话,为什么只有一个手柄有反应

oepnGL中的joystick的话,为什么只有一个手柄有反应

来源:未知 作者:老黑 时间:09-08-21 打印
在一个C写的程序中,用到了openGL的joystick实现的,并且得到了游戏手柄键入的值了。现在问题是:只有一个手柄有反应。另外一个没反应的。我的手柄是一个USB,然后分叉成两个手柄的那种。怎么处理的呢? 对于手柄控制主要有以下几个问题

在合适的时机获取游戏手柄的输入?
一般游戏手柄都是有n个方向键和n个功能键控制的,要确认各个键的状态?
解决方案

通过windows API 中与游戏手柄相关的函数进行控制,主要是joystick系统函数,这一问题的关键点是P/Invoke调用。优点是不需要directx 支持,缺点是调用如果要想让多个窗口接受手柄输入有点麻烦(后边会详细描述)。
通过directx的directx input,Microsoft.DirectX.DirectInput命名空间下的类对joystick进行了很好的封装,在.net中用时很方便。优点使用方便,缺点需要directx支持不过这点应该不用担心,现在大部 fef 系统安装完后应该都安装了directx
在本篇中将先介绍通过directxinput进行控制,这篇文章有些地方借鉴了codepoject上的文章点击这里可以看到

程序最终运行效果  
最新评论共有位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名评论