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 |
浏览器兼容性
加载中…