有什么方法可以提取与光线投射器相交的实体的信息(id,类等)? 我试图从evt.detail.el中找到信息,但没有成功。
AFRAME.registerComponent('collider-check', {
init: function () {
this.el.addEventListener('raycaster-intersected', function (evt) {
console.log(evt.detail.el);
});
}
});
答案 0 :(得分:1)
问题是上面的代码记录了 raycasting 实体,而不是 raycasted 实体,因此它记录了光标。
使用上面的代码,您可以通过登录evt.detail.intersection.object.el
来访问所需的数据。因此,您可以执行以下操作分别访问id
和class
:
console.log(evt.detail.intersection.object.el.id);
console.log(evt.detail.intersection.object.el.className);
以下是运行中的代码的演示:https://codepen.io/dansinni/pen/bjjbWv
如果您尚未将this
绑定到处理程序,而只需要基本属性数据,则还应该能够执行以下操作,但是要使用YMMV:
console.log(this.id);
console.log(this.className);
您还应该能够改为使用带有光标的组件,并依靠raycaster-intersection
事件。请注意文档中的区别:https://aframe.io/docs/master/components/raycaster.html#events