如何在UWP应用程序中访问两个Xbox One拇指杆的坐标?另外,如何检测何时按下X,Y,A和B按钮?
编辑:我一直在获得类型" System.InvalidOperationException"的异常。在MainPage.xaml.cs的MainPage方法中使用Gamepad.Gamepads.First()时在System.Linq.dll中
答案 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时,此功能正常工作。