2017-04-04 6 views
2

Ich versuche, Eingabe von einem Xbox One-Controller zu bekommen, aber ich kann es einfach nicht zum Laufen bringen. Ich habe versucht SharpDX, aber ich konnte nicht "SharpDX.XInput" nach der Installation von SharpDX von NuGet hinzufügen. Ich versuchte auch XInputDotNet, und fügte den Verweis auf XInputDotNetPure hinzu, und es würde abstürzen, wenn ich mein Programm mit der Fehlermeldung laufen ließ: "Ein Versuch wurde gemacht, ein Programm mit einem falschen Format zu laden". Wenn Sie wissen, wie ich das beheben kann oder eine andere Möglichkeit, von einem Xbox One-Controller Eingaben zu erhalten, würde ich es sehr schätzen, wenn Sie das mit mir teilen könnten. Vielen Dank!Verwenden eines Xbox One-Controllers in Visual Studio?

+0

Was hat das mit Visual Studio zu tun? Korrigieren Sie mich, wenn ich falsch liege, aber die IDE, die Sie verwenden, hat damit nichts zu tun, und es dreht sich alles um den .NET-Code. – mason

Antwort

1

Verwendet die Sharpdx.XInput-Schnittstelle. Sie müssen keine andere Schnittstelle installieren, um XBOX-Controller zum Laufen zu bringen. Es gibt ein Problem mit der Installation in 3.0-Paketen, wenn Sie 8.1 gewinnen. Eine neue Beta V4.0 wurde veröffentlicht, Sie sollten dies durch Nuget erreichen können, wenn Sie die Beta-Flagge aktivieren.

Deklarieren ein Controller-Objekt

zB.

private Controller m_playerControl; 

in Ihrer Kreation, verwenden

m_playerControl = new Controller(UserIndex.One); 

oder 2 etc 3, 4

Sie, wenn die Xbox-Controller mit verbunden testen:

m_playerControl.IsConnected 

greifen die Zustand.

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; 

beraten Sie auch den gleichen Zustand Objekt verwenden und überlagern Ihre Gamepads usw.

Verwandte Themen