【发布时间】:2018-08-31 09:08:42
【问题描述】:
我需要在事件raycaster-intersected 每次发生时捕获它。
我需要到检测到的第一个实体的距离来检查碰撞,但该事件仅在光线投射器第一次击中实体时触发。
如果光线投射器仍然接触到实体,它不会触发事件。
我有下一个代码:
AFRAME.registerComponent("follow-body", {
'schema': {
entityId: {
type:'string',
default:''
}
},
init: function(){
this.pibot = document.querySelector("#" + this.data.entityId);
},
tick: function(){
let pibotPos = this.pibot.object3D.position;
let pibotRotation = this.pibot.object3D.rotation;
let el = this.el;
pibotPos.y += 0.2;
el.object3D.position.set(pibotPos.x, pibotPos.y, pibotPos.z);
el.object3D.rotation.set(pibotRotation.x, pibotRotation.y, pibotRotation.z);
el.addEventListener('raycaster-intersection', function(evt){
var e = new CustomEvent('intersection-detected', {detail: evt.detail});
this.dispatchEvent(e);
});
}
});
【问题讨论】:
-
代码 sn-p 不运行。错误:{“消息”:“脚本错误。”,“文件名”:“”,“lineno”:0,“colno”:0 }
标签: javascript events three.js aframe