3

r58 中的 EventDispatcer 发生了一些变化,我无法向对象添加更多自定义事件。根据向 Object3D 添加自定义事件,我曾经拥有:

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' 
4

1 回答 1

2

现在它使用函数的单个实例,而不是在每个对象中复制它。

这是迄今为止我发现的最好的方法: https ://github.com/mrdoob/three.js/blob/master/examples/js/loaders/OBJLoader.js#L11-L14

我想我会让 Object3D 扩展 EventDispatcher 原型......

于 2013-04-22T23:25:12.237 回答