2017-04-04 71 views
2

我想从Xbox One控制器获取输入,但我无法让它工作。我尝试了SharpDX,但是在从NuGet安装SharpDX后无法添加“SharpDX.XInput”。我也尝试过XInputDotNet,并且添加了对XInputDotNetPure的引用,并且在运行我的程序时会崩溃,并显示错误消息:“试图加载格式不正确的程序”。如果您知道如何解决这个问题,或者以其他方式从Xbox One控制器获取输入,我将不胜感激,如果您可以与我分享。谢谢!在Visual Studio中使用Xbox One控制器?

+0

这是什么都与Visual Studio办?如果我错了,请更正我的错误,但是您使用的IDE与此无关,并且都是关于.NET代码的。 – mason

回答

1

使用Sharpdx.XInput接口。您无需安装任何其他接口即可使XBOX控制器正常工作。如果您拥有win 8.1,则安装3.0软件包时会出现问题。一个新的测试版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; 

劝你也可以使用相同的状态对象和覆盖你的游戏手柄等