XNA手柄输入触发WPF事件

本文关键字:WPF 事件 输入 XNA | 更新日期: 2023-09-27 18:05:14

我试图在WPF中使用xbox控制器,我似乎遇到了一个问题。

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

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

,但我不知道如何使WPF触发说"KeyPressed"事件时,控制器上的东西被按下。

我试着做了一些研究,但我找不到任何太具体的东西,或者如果我做了,他们大多数时候都没有回答。我在下面找到了这个,但它似乎没有回答你如何实际做到这一点:

你能编程手柄上的按键来绑定鼠标/键盘输入吗?

XNA手柄输入触发WPF事件

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

if (currentState.Buttons.A == ButtonState.Pressed)
{
    do something
}

正如另一个答案所说,您可以使用以下命令检查手柄的状态:

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

也可以使用

if (currentState.IsButtonDown(Buttons.A))

您可能想要创建一个button to Key映射的字典,但这取决于您。

一旦你知道如何检查手柄状态,你的问题就变成了这个问题。