将自定义事件添加到Object3D

gai*_*tat 3 three.js

我正在构建一个Object3D节点的场景图.我想将几个节点视为自开始时不活动的Spin对象,但是当它们收到特定的"start"事件时它们变为活动状态,可能使用计时器来启动它.我需要一些帮助来设置它.我试过以下代码

var spinner_obj = new THREE.Object3D();
spinner_obj.addEventListener('start', function(event) {alert("GOT THE EVENT");});
Run Code Online (Sandbox Code Playgroud)

但这给了我一个错误"TypeError:spinner_obj.addEventListener不是一个函数"

另外我还需要做些什么来解雇这个'开始'事件?我是一个javascript初学者.我试图关注https://github.com/mrdoob/eventdispatcher.js,但我还需要更多指针.谢谢.

mrd*_*oob 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'});
Run Code Online (Sandbox Code Playgroud)