在 Visual Studio 中使用 Xbox One 控制器?

Using an Xbox One controller in Visual Studio?

我正在尝试从 Xbox One 控制器获取输入,但我无法让它工作。我尝试了 SharpDX,但在从 NuGet 安装 SharpDX 后无法添加 "SharpDX.XInput"。我也尝试了 XInputDotNet,并添加了对 XInputDotNetPure 的引用,当我 运行 我的程序时它会崩溃,并显示错误消息: "An attempt was made to load a program with an incorrect format"。如果您知道我如何解决此问题,或从 Xbox One 控制器获取输入的其他方法,请与我分享,我将不胜感激。谢谢!

使用了Sharpdx.XInput界面。您无需安装任何其他界面即可让 XBOX 控制器正常工作。如果您有 win 8.1,则在 3.0 包中安装会出现问题。一个新的 beta V4.0 发布了,如果你启用 beta 标志,你应该可以通过 Nuget 获得它。

声明一个控制器对象

例如。

private Controller m_playerControl;

在你的创作中,使用

 m_playerControl = new Controller(UserIndex.One); 

或 2 等 3、4

您可以测试 xbox 控制器是否连接到:

m_playerControl.IsConnected

要抢状态

  m_state = m_playerControl.GetState();
        m_lx = m_state.Gamepad.LeftThumbX;
        m_ly = m_state.Gamepad.LeftThumbY;
        m_lt = m_state.Gamepad.LeftTrigger;
        m_lb = m_state.Gamepad.Buttons;

        m_rx = m_state.Gamepad.RightThumbX;
        m_ry = m_state.Gamepad.RightThumbY;
        m_rt = m_state.Gamepad.RightTrigger;

建议您也使用相同的状态对象并覆盖您的游戏手柄等。