GamepadButton
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.
* Some parts of this feature may have varying levels of support.
Giao diện GamepadButton xác định một nút riêng lẻ của tay cầm chơi game hoặc bộ điều khiển khác, cho phép truy cập vào trạng thái hiện tại của các loại nút khác nhau có trên thiết bị điều khiển.
Đối tượng GamepadButton được trả về bằng cách truy vấn bất kỳ giá trị nào của mảng được trả về bởi thuộc tính buttons của giao diện Gamepad.
Thuộc tính phiên bản
-
Giá trị boolean cho biết nút hiện đang được nhấn (
true) hay không nhấn (false). -
Giá trị boolean cho biết nút hiện đang được chạm (
true) hay không chạm (false). -
Giá trị double dùng để biểu diễn trạng thái hiện tại của các nút analog, chẳng hạn như các nút kích hoạt trên nhiều tay cầm hiện đại. Các giá trị được chuẩn hóa trong phạm vi 0.0 đến 1.0, với 0.0 đại diện cho nút không được nhấn, và 1.0 đại diện cho nút được nhấn hoàn toàn.
Ví dụ
Các giá trị nút trong ví dụ sau được lưu trữ dưới dạng mảng các đối tượng GamepadButton. Ví dụ đơn giản này kiểm tra xem GamepadButton.value của nút có lớn hơn 0 không, hoặc thuộc tính GamepadButton.pressed có cho biết nút đã được nhấn không.
function gameLoop() {
const gp = navigator.getGamepads()[0];
if (gp.buttons[0].value > 0 || gp.buttons[0].pressed) {
b--;
} else if (gp.buttons[1].value > 0 || gp.buttons[1].pressed) {
a++;
} else if (gp.buttons[2].value > 0 || gp.buttons[2].pressed) {
b++;
} else if (gp.buttons[3].value > 0 || gp.buttons[3].pressed) {
a--;
}
ball.style.left = `${a * 2}px`; // ball is a UI widget
ball.style.top = `${b * 2}px`;
requestAnimationFrame(gameLoop);
}
Thông số kỹ thuật
| Specification |
|---|
| Gamepad> # gamepadbutton-interface> |