如果通过 UWP 按下多个游戏手柄按钮 JavaScript
If more than one gamepad button pressed via UWP JavaScript
根据 Microsoft 文档,GamepadReading.buttons
,它是按钮值的组合...
通过 window.requestAnimationFrame
(或 window.setInterval
)在游戏循环中,我正在尝试实现检查是否按下多个游戏手柄按钮的方法...
这是实现,虽然我使用字符串代替...
function gamepadButtonPressed(gamepad_index, button) {
var gamepad_state = window.Windows.Gaming.Input.Gamepad.gamepads[gamepad_index].getCurrentReading();
if (button === "leftTrigger" || button === "rightTrigger") return (gamepad_state[button] >= 0.1);
else return (gamepad_state.buttons === window.Windows.Gaming.Input.GamepadButtons[button]);
}
我遇到的问题是,游戏手柄的读取状态每次都会改变,但我想办法不让它只检测一个按钮,但也让它能够做多个按钮,而不是被迫成为一个按钮...
如果有人能提供帮助,我将不胜感激!
这可以通过按位 &
运算符来完成。
function gamepadButtonPressed(gamepad_index, button) {
var gamepad_state = window.Windows.Gaming.Input.Gamepad.gamepads[gamepad_index].getCurrentReading();
if (button === "leftTrigger" || button === "rightTrigger") return (gamepad_state[button] >= 0.1);
else return (gamepad_state.buttons & window.Windows.Gaming.Input.GamepadButtons[button] != 0);
}
根据 Microsoft 文档,GamepadReading.buttons
,它是按钮值的组合...
通过 window.requestAnimationFrame
(或 window.setInterval
)在游戏循环中,我正在尝试实现检查是否按下多个游戏手柄按钮的方法...
这是实现,虽然我使用字符串代替...
function gamepadButtonPressed(gamepad_index, button) {
var gamepad_state = window.Windows.Gaming.Input.Gamepad.gamepads[gamepad_index].getCurrentReading();
if (button === "leftTrigger" || button === "rightTrigger") return (gamepad_state[button] >= 0.1);
else return (gamepad_state.buttons === window.Windows.Gaming.Input.GamepadButtons[button]);
}
我遇到的问题是,游戏手柄的读取状态每次都会改变,但我想办法不让它只检测一个按钮,但也让它能够做多个按钮,而不是被迫成为一个按钮...
如果有人能提供帮助,我将不胜感激!
这可以通过按位 &
运算符来完成。
function gamepadButtonPressed(gamepad_index, button) {
var gamepad_state = window.Windows.Gaming.Input.Gamepad.gamepads[gamepad_index].getCurrentReading();
if (button === "leftTrigger" || button === "rightTrigger") return (gamepad_state[button] >= 0.1);
else return (gamepad_state.buttons & window.Windows.Gaming.Input.GamepadButtons[button] != 0);
}