如何让距离触发器在 argon.js 和 AFrame 中工作?

How to get distance triggers working in argon.js and AFrame?

我正在尝试向我的 ar-scene 中的对象添加距离触发器,在项目 github 页面上的 code snippet 之后。

以下是我在 Argon 中的错误。

<ar-geopose id="GT2" lla=" -84.398881 33.778463" userotation="false" trigger="radius:100;event:alert('You are near GT.');"> </ar-geopose>

我是否错误地调用了事件?

(这一切都假设您使用 argon.js 和来自 http://argonjs.io 的氩气-aframe.js)

触发器的 "event" 属性必须是要生成的事件的名称,而不是要执行的代码。组件的属性(如触发器)指定参数(如任何 CSS 属性),而不是代码。

因此,您应该在 javascript

中使用类似的内容
trigger="radius:100;event:target_trigger"

这将导致触发器组件 emit("target_trigger") 在您附加到的实体上。

您可以通过

之类的方式收听
var GT = document.querySelector("#GT2");

GT.addEventListener('target_trigger', function(evt) {
    alert("you are near GT.");
});

当然,我会避免在 AR 应用程序中使用警报,但我假设您这样做是为了 testing/debugging。