GamepadHapticActuator: playEffect() method

Khả dụng hạn chế

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Phương thức playEffect() của giao diện GamepadHapticActuator khiến phần cứng phát một hiệu ứng rung cụ thể.

Cú pháp

js
playEffect(type, params)

Tham số

type

Một chuỗi đại diện cho hiệu ứng mong muốn. Các giá trị có thể là "dual-rumble""trigger-rumble", và hiệu ứng của chúng có thể thay đổi tùy thuộc vào loại phần cứng. Xem GamepadHapticActuator.effects để biết thêm chi tiết về các loại hiệu ứng.

params

Một đối tượng để mô tả hiệu ứng xúc giác mong muốn.

Các giá trị được kỳ vọng là:

duration Optional

Thời gian của hiệu ứng tính bằng mili giây. Mặc định là 0.

startDelay Optional

Độ trễ tính bằng mili giây trước khi hiệu ứng bắt đầu. Mặc định là 0.

strongMagnitude Optional

Cường độ rung của động cơ rung tần số thấp (mạnh), được chuẩn hóa trong khoảng từ 0.0 đến 1.0. Mặc định là 0.0.

weakMagnitude Optional

Cường độ rung của động cơ rung tần số cao (yếu), được chuẩn hóa trong khoảng từ 0.0 đến 1.0. Mặc định là 0.0.

leftTrigger (chỉ liên quan đến hiệu ứng "trigger-rumble") Optional

Cường độ rung của cò kích dưới bên trái, được chuẩn hóa trong khoảng từ 0.0 đến 1.0. Mặc định là 0.0.

rightTrigger (chỉ liên quan đến hiệu ứng "trigger-rumble") Optional

Cường độ rung của cò kích dưới bên phải, được chuẩn hóa trong khoảng từ 0.0 đến 1.0. Mặc định là 0.0.

Note: Lệnh gọi mới tới playEffect() sẽ ghi đè lên lệnh gọi đang diễn ra trước đó.

Giá trị trả về

Promise được giải quyết với "complete" khi hiệu ứng hoàn thành thành công, hoặc "preempted" nếu hiệu ứng hiện tại bị dừng hoặc thay thế bởi hiệu ứng khác.

Promise có thể bị từ chối với các loại ngoại lệ sau:

InvalidStateError DOMException

Tài liệu hiện tại không hoạt động hoặc bị ẩn.

NotSupportedError DOMException

type được yêu cầu không được hỗ trợ bởi bộ truyền động của gamepad hiện tại.

TypeError DOMException

type được yêu cầu không phải là loại hiệu ứng hợp lệ.

Ví dụ

js
const gamepad = navigator.getGamepads()[0];

gamepad.vibrationActuator
  .playEffect("dual-rumble", {
    startDelay: 0,
    duration: 200,
    weakMagnitude: 1.0,
    strongMagnitude: 1.0,
  })
  .then((result) => console.log(result));
// Should log "complete" if effect successfully runs

Thông số kỹ thuật

Thông số kỹ thuật
Gamepad
# dom-gamepadhapticactuator-playeffect

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

Xem thêm