2017-04-04 97 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; 

勸你也可以使用相同的狀態對象和覆蓋你的遊戲手柄等