将自定义事件添加到Object3D

时间:2013-01-18 11:04:53

标签: three.js

我正在使用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,但我还需要更多指针。谢谢。

1 个答案:

答案 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'});