挂钩到框架沿路径组件事件和状态

Hooking into aframe-alongpath-component events and state

aframe-alongpath-component 的文档中有一个关于事件和状态的部分。

其中一个状态是 "moveonpath" - 当前沿着路径移动的实体。

我如何连接到它以便在实体移动时播放特定的声音?

我从文档中也不清楚如何触发沿路径的移动以从其他地方的代码开始。它似乎有一个您可以收听的事件 "movingstarted" 但没有我可以在组件上调用的播放方法。

我想要实现的最终目标是从弹射器中抛出一块石头。

当弹射器动画完成时,我想触发跟随其轨迹的路径并在移动时触发声音,当它到达路径的尽头(将在海洋中)时触发另一个声音。

检查状态非常简单:

element.is("state");

获取'ended'事件更简单:

element.addEventListener("movingended", (e)=>{})


现在在 init 函数中添加事件监听器,并在组件中的 tick 函数中检查状态:

AFRAME.registerComponent('foo', {
  init: function() {
    this.el.addEventListener("movingended", (e) => {
      console.log("moving ended")
    })
  },
  tick: function() {
    console.log(this.el.is("moveonpath"));
  }
})

并附加组件:

<a-box foo></a-box>

现场查看 here