XRSession: squeezeend 事件
当 XRSession 的一个输入源结束其主要操作,或者正在处理进行中的主要操作的输入源在未成功完成操作的情况下断开连接时,会向 XRSession 发送 squeezeend WebXR 事件。
主要挤压操作包括用户按下扳机或按钮、轻触触摸板、说出命令,或在使用视频跟踪系统或带有加速计的手持控制器时执行可识别的手势。
语法
在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。
js
addEventListener("squeezeend", (event) => { })
onsqueezeend = (event) => { }
事件类型
一个 XRInputSourceEvent。继承自 Event。
事件属性
除了下面列出的属性之外,父接口 Event 的属性也可使用。
frame只读-
一个
XRFrame对象,提供事件发生期间所需的事件帧信息。此帧可能是在过去渲染的,而不是当前的帧。因为这是一个事件帧,而不是动画帧,所以您不能在其上调用XRFrame.getViewerPose();而是使用getPose()。 inputSource只读-
一个
XRInputSource对象,指示是哪个输入源生成了此输入事件。
描述
触发
当用户停止挤压控制器、做出模仿抓取某物的抓握手势,或使用(挤压)扳机时触发。
用例
会发送 squeezestart 事件,指示用户已开始挤压操作。
如果主要挤压动作成功结束,则会话会收到一个 squeeze 事件。
会发送 squeezeend 事件,指示挤压操作不再进行中。无论挤压操作是否成功,都会发送此事件。
示例
有关示例代码,请参阅 squeezestart 事件。
规范
| 规范 |
|---|
| WebXR Device API # eventdef-xrsession-squeezeend |
| WebXR Device API # dom-xrsession-onsqueezeend |
浏览器兼容性
加载中…