Gamepad

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 Gamepad của Gamepad API định nghĩa một gamepad hoặc bộ điều khiển riêng lẻ, cho phép truy cập vào các thông tin như việc nhấn nút, vị trí trục và id.

Một đối tượng Gamepad có thể được trả về theo một trong hai cách: thông qua thuộc tính gamepad của các sự kiện gamepadconnectedgamepaddisconnected, hoặc bằng cách lấy bất kỳ vị trí nào trong mảng được trả về bởi phương thức Navigator.getGamepads().

Note: Mức hỗ trợ các tính năng của gamepad thay đổi tùy theo từng tổ hợp nền tảng và bộ điều khiển. Ngay cả khi bộ điều khiển hỗ trợ một tính năng nhất định (ví dụ: phản hồi xúc giác), nền tảng có thể không hỗ trợ tính năng đó cho bộ điều khiển ấy.

Thuộc tính thể hiện

Gamepad.axes Read only

Một mảng biểu diễn các điều khiển có trục trên thiết bị (ví dụ: cần analog).

Gamepad.buttons Read only

Một mảng các đối tượng gamepadButton biểu diễn các nút bấm có trên thiết bị.

Gamepad.connected Read only

Một giá trị boolean cho biết gamepad còn đang được kết nối với hệ thống hay không.

Gamepad.displayId Read only Deprecated Non-standard

Trả về VRDisplay.displayId của một VRDisplay được liên kết (nếu có liên quan) - tức là VRDisplay mà gamepad đang điều khiển cảnh được hiển thị.

Gamepad.hand Read only Experimental

Một enum định nghĩa tay nào đang cầm bộ điều khiển, hoặc tay nào nhiều khả năng sẽ cầm nó.

Gamepad.hapticActuators Read only Experimental

Một mảng chứa các đối tượng GamepadHapticActuator, mỗi đối tượng biểu diễn phần cứng phản hồi xúc giác có sẵn trên bộ điều khiển.

Gamepad.vibrationActuator Read only

Một đối tượng GamepadHapticActuator, biểu diễn phần cứng phản hồi xúc giác có sẵn trên bộ điều khiển.

Gamepad.id Read only

Một chuỗi chứa thông tin nhận dạng về bộ điều khiển.

Gamepad.index Read only

Một số nguyên được tự động tăng để duy nhất cho từng thiết bị hiện đang được kết nối với hệ thống.

Gamepad.mapping Read only

Một chuỗi cho biết trình duyệt có ánh xạ lại các điều khiển trên thiết bị theo một bố cục đã biết hay không.

Gamepad.pose Read only Experimental

Một đối tượng GamepadPose biểu diễn thông tin tư thế liên quan đến một bộ điều khiển WebVR (ví dụ: vị trí và hướng của nó trong không gian 3D).

Gamepad.timestamp Read only

Một DOMHighResTimeStamp biểu thị thời điểm gần nhất dữ liệu của gamepad này được cập nhật.

Ví dụ

js
window.addEventListener("gamepadconnected", (e) => {
  console.log(
    "Gamepad connected at index %d: %s. %d buttons, %d axes.",
    e.gamepad.index,
    e.gamepad.id,
    e.gamepad.buttons.length,
    e.gamepad.axes.length,
  );
});

Đặc tả kỹ thuật

Specification
Gamepad
# gamepad-interface
Gamepad Extensions
# partial-gamepad-interface

Tính tương thích trên trình duyệt

Xem thêm