有关r58中EventDispatcer的更改,我无法再向Objects添加自定义事件。根据{{3}}我曾经有过:
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'});
但是这在r58中停止了,并显示错误消息:
Object [object Object] has no method 'addEventListener'
答案 0 :(得分:2)
现在它使用的是单个函数实例,而不是在每个对象中复制它。
这是我迄今为止发现的最佳方法: https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/OBJLoader.js#L11-L14
我想我会让Object3D扩展EventDispatcher原型,但是......