这看起来非常简单,但我对 JavaScript 有点陌生并且很困难。文档给出了这个例子:
// Adding events to a custom object
var Car = function () {
this.start = function () {
this.dispatchEvent( { type: 'start', message: 'vroom vroom!' } );
};
};
// Mixin the EventDispatcher.prototype with the custom object prototype
Object.assign( Car.prototype, EventDispatcher.prototype );
// Using events with the custom object
var car = new Car();
car.addEventListener( 'start', function ( event ) {
alert( event.message );
});
car.start();
在我的主页的标题中,我包含 three.js ,它实现了 EventDispatcher。在正文中,我加载了 app.js,这是我粘贴示例代码的地方。此时它会抛出EventDispatcher is not Defined
。如果我拉进来 EventDispatcher.js在此之前单独进行,一切正常。
我想这是一个简单的加载/执行顺序问题,我想知道如何解决这个问题而不需要额外的 EventDispatcher.js 位。干杯!
最佳答案
这应该有效:
var Car = function () {
this.start = function () {
this.dispatchEvent( { type: 'start', message: 'vroom vroom!' } );
};
};
Object.assign( Car.prototype, THREE.EventDispatcher.prototype );
var car = new Car();
car.addEventListener( 'start', function ( event ) {
alert( event.message );
});
car.start();
三.js r.85
关于javascript - 无法将 Threejs EventDispatcher 附加到自定义对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44362386/