我正在使用Object3D节点构建场景图。我想将几个节点视为Spin对象,从一开始就处于非活动状态,但是当它们收到特定的“start”事件时它们会变为活动状态,可能会使用计时器来启动它。我需要一些帮助来设置它。我试过以下代码
var spinner_obj = new THREE.Object3D();
spinner_obj.addEventListener('start', function(event) {alert("GOT THE EVENT");});
但是这给了我一个错误“TypeError:spinner_obj.addEventListener不是函数”
此外,我还需要做些什么来解雇这个'开始'事件?我是一个javascript初学者。 我试图关注https://github.com/mrdoob/eventdispatcher.js,但我还需要更多指针。谢谢。
答案 0 :(得分:11)
尝试这样做:
var spinner_obj = new THREE.Object3D();
THREE.EventDispatcher.call( spinner_obj );
spinner_obj.addEventListener('start', function(event) {alert("GOT THE EVENT");});
spinner_obj.dispatchEvent({type:'start'});