导航

[下载]Xna 普通电脑手柄 Input类库 (PC GAMEPAD 非Xbox 360)

Posted on 2009-04-19 01:28  XnaZero  阅读(1013)  评论(9编辑  收藏  举报

看了Kingthy's blog写的 (Ziggyware 到是见了个  不过在我机子上没效果。。)

用的API 不是MDX INPUT (当然是不跨平台的。。)

上图用的官方的Input Reporter

用法:

namespace Microsoft.Xna.Framework.Input

PCGamePad.GetState(PlayerIndex playerIndex)  //似乎最多只支持2个手柄

 

此函数返回一个GamePadState 就是XNA的那个  之后的用法当然也一样 就不多说了

GamePad.GetCapabilities()没实现 XNA封装了 而且做起来比较麻烦。。 (有GamePadState的IsConnected)

不过我的手柄和XBOX的按键有些不同

△ BUTTON1    Buttons.Y

○  BUTTON2    Buttons.B

□  BUTTON3    Buttons.A

×  BUTTON4    Buttons.X

L2 BUTTON5    Buttons.LeftTrigger

R2 BUTTON6    Buttons.RightTrigger

L1 BUTTON7    Buttons.LeftShoulder

R2 BUTTON8    Buttons.RightShoulder

BUTTON9    Buttons.Start 

BUTTON10   Buttons.Back

左摇杆按下   Buttons.LeftStick

右摇杆按下   Buttons.RightStick

 

多的一对LR 放GamePadTriggers 了  只有0和1..

我只有一个手柄测试(北通。。)

另外对XBOX的手柄不熟(只搜了下图对着弄。。)

PCGamePad 0.1 for Xna3.0 带上图的例子源代码

PCGamePad 0.1 for Xna2.0

有需要改进的地方 请留言