Xbox One控制器缩略图坐标(在UWP应用程序中)

时间:2016-06-05 01:20:50

标签: c# uwp xbox gamepad

如何在UWP应用程序中访问两个Xbox One拇指杆的坐标?另外,如何检测何时按下X,Y,A和B按钮?

编辑:我一直在获得类型" System.InvalidOperationException"的异常。在MainPage.xaml.cs的MainPage方法中使用Gamepad.Gamepads.First()时在System.Linq.dll中

2 个答案:

答案 0 :(得分:2)

您应该查看gaming technologies for UWP,特别是Windows.Gaming.Input API

简而言之:在您访问游戏手柄后:

 var controller = Gamepad.Gamepads.First();

您开始从中阅读GamepadReadings

 var reading = controller.GetCurrentReading();

每个阅读都包含有关拇指杆,触发器和按钮的数据。

 var leftThumbstickX = reading.LeftThumbstickX;
 var aButton = (reading.Buttons & GamepadButtons.A);

答案 1 :(得分:1)

不确定拇指杆,但您可以将游戏手柄按钮检测为任何其他按键事件。

只需加入您页面的KeyUp事件或全局Window.Current.CoreWindow.KeyUp事件,然后检查游戏手柄按钮,例如VirtualKey.GamepadB

当应用程序在XBox One上运行时以及使用USB电缆将XBox One控制器连接到PC时,此功能正常工作。