WPF 中的 XNA GamePad 输入触发事件

Posted

技术标签:

【中文标题】WPF 中的 XNA GamePad 输入触发事件【英文标题】:XNA GamePad Input Triggers Event in WPF 【发布时间】:2011-08-09 15:15:33 【问题描述】:

我正在尝试在 WPF 中使用 xbox 控制器,但我似乎遇到了问题。

我能够使用游戏手柄从 XNA 获取输入

Microsoft.Xna.Framework.Input.GamePadState currentState = Microsoft.Xna.Framework.Input.GamePad.GetState(Microsoft.Xna.Framework.PlayerIndex.One);

但我不知道如何让 WPF 在按下控制器上的某些东西时触发说“KeyPressed”事件。

我尝试进行一些研究,但我找不到任何太具体的东西,或者如果我这样做了,它们大部分时间都没有得到回答。我在下面找到了这个,但它似乎没有回答你实际上是如何做到这一点的:

Can you program buttons on a gamepad to bind with mouse/keybourd input?

【问题讨论】:

【参考方案1】:

您需要查看每个按钮以查看它们是否被按下。

if (currentState.Buttons.A == ButtonState.Pressed)

    do something

【讨论】:

【参考方案2】:

正如另一个答案所说,您可以通过以下方式检查游戏手柄的状态:

if (currentState.Buttons.A == ButtonState.Pressed)

你也可以使用

if (currentState.IsButtonDown(Buttons.A))

您可能想要创建一个按钮到键映射的字典,但这取决于您。

一旦您知道如何检查游戏手柄状态,您的问题就会减少到this question。查看接受的答案。

【讨论】:

以上是关于WPF 中的 XNA GamePad 输入触发事件的主要内容,如果未能解决你的问题,请参考以下文章