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

3
我试图从Xbox One控制器中获取输入,但我无法让它工作。我尝试了SharpDX,但在从NuGet安装SharpDX之后,我无法添加“SharpDX.XInput”。我还尝试了XInputDotNet,并添加了对XInputDotNetPure的引用,但当我运行程序时,它会崩溃,并显示错误消息:“尝试加载具有不正确格式的程序”。如果您知道如何解决此问题,或者以另一种方式从Xbox One控制器中获取输入,请与我分享。谢谢!

这与Visual Studio有什么关系?如果我错了,请纠正我,但是你正在使用的IDE与此无关,这完全是关于.NET代码的。 - mason
1个回答

1
使用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;

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接