Zastanawiam się, jak mam obsługiwać wejścia dla aplikacji UWP kierowanych na Xbox One. Zauważyłem DirectInput, ale widzę dwa problemy z tym dla moich przypadkach zastosowanie:Obsługa kontrolera dla konsoli Xbox one w Windows UWP
Od MSDN, wydaje się tylko do obsługi Kontroler Xbox 360
XInput to API, które umożliwia aplikacjom odbierać wejście z kontrolera Xbox 360 dla Windows. Obsługiwane są kontrolowane dźwięki dzwonka oraz wejścia i wyjścia głosowe.
DirectX i wszystkie jego API (Direct2D, Direct3D, xinput, etc ...) są obsługiwane tylko w C/C++. Oznacza to, że nawet jeśli Xinput obsługiwał kontrolerów Xbox jeden, nie mogłem użyć C# lub JavaScript, aby opracować prawdziwie uniwersalne aplikacje.
Jakie mam opcje (przynajmniej tak daleko, jak C# jest zaniepokojony) do podtrzymywania Xbox One wsparcie kontrolera w aplikacji systemu Windows UWP?
UPDATE
Ze względu na kilka pomocnych odpowiedzi wskazujące właściwą nazw, myślę, że syntetyzowane kodu przy użyciu Windows.Gaming.Input
/*
* Note: I have not tested this code.
* If it is incorrect, please do edit with the fix.
*/
using Windows.Gaming.Input;
// bla bla bla boring stuff...
// Get the first controller
var controller = Gamepad.Gamepads.First();
// Get the current state
var reading = controller.GetCurrentReading();
// Check to see if the left trigger was depressed about half way down
if (reading.LeftTrigger == 0.5;)
{
// Do whatever
}
Jeśli używasz JavaScript następnie:
var controller = Windows.Gaming.Input.Gamepad.gamepads.first();
var reading = controller.getCurrentReading();
if (reading.leftTrigger === 0.5) {
// Do whatever
}
Oto aktualna przykładowa aplikacja UWP z wykorzystaniem Windows.Gaming.Input https://github.com/tiagonmas/GamepadUWP –
Dlaczego używasz var do kontrolera i obiektów do czytania? – BossmanT