GamepadHapticActuator: playEffect() 方法
GamepadHapticActuator 介面的 playEffect() 方法會使硬體播放特定的振動效果。
語法
js
playEffect(type, params)
引數
type-
表示所需效果的字串。可能的值為
"dual-rumble"和"trigger-rumble",它們的效果可能因硬體型別而異。有關效果型別的更多詳細資訊,請參閱GamepadHapticActuator.effects。 params-
描述所需觸覺效果的物件。
預期的值為
duration可選-
效果持續時間的毫秒數。預設為
0。 startDelay可選-
效果開始前的延遲毫秒數。預設為
0。 strongMagnitude可選-
低頻(強)震動馬達的震動強度,歸一化到
0.0到1.0之間的範圍。預設為0.0。 weakMagnitude可選-
高頻(弱)震動馬達的震動強度,歸一化到
0.0到1.0之間的範圍。預設為0.0。 leftTrigger(僅與"trigger-rumble"效果相關) 可選-
左側前觸發器的震動強度,歸一化到
0.0到1.0之間的範圍。預設為0.0。 rightTrigger(僅與"trigger-rumble"效果相關) 可選-
右側前觸發器的震動強度,歸一化到
0.0到1.0之間的範圍。預設為0.0。
注意: 新的 playEffect() 呼叫會覆蓋之前正在進行的呼叫。
返回值
一個 Promise,當效果成功完成時解析為 "complete",如果當前效果被另一個效果停止或替換,則解析為 "preempted"。
Promise 可能會因以下異常型別而拒絕:
InvalidStateErrorDOMException-
當前文件不處於活動狀態或已隱藏。
NotSupportedErrorDOMException-
當前遊戲手柄的致動器不支援請求的
type。 TypeErrorDOMException-
請求的
type不是有效效果型別。
示例
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
規範
| 規範 |
|---|
| Gamepad # dom-gamepadhapticactuator-playeffect |
瀏覽器相容性
載入中…