Three.ImageLoader - Object [object Object]没有方法'addEventListener'

时间:2013-07-23 06:04:30

标签: three.js

我正在使用three.js处理一个简单的模型预览器,用户可以动态上传和更改模型材质的纹理等。

对于我的生活,我无法克服这个错误,并且我已经遇到了这个问题,因为其他加载器应该是三个.js,它们应该有addEventListener方法。那么我做错了什么?我使用r59

function loadTex(tex)
{
    var texture = new THREE.Texture();

    var imgloader = new THREE.ImageLoader( manager );

    imgloader.addEventListener('load', function(event) {
        // Event stuff
    });

    imgloader.load( tex );
}

图像成功上传到服务器后会调用此函数。我试图做的就是改变已经存在的材料的纹理。

2 个答案:

答案 0 :(得分:1)

当我从r58升级到r59时,我遇到了同样的问题。看起来在r59(https://github.com/mrdoob/three.js/blob/master/src/extras/ImageUtils.js

中没有addEventListener方法

您可以使用loadTexture方法并侦听onLoad和onError事件

function onLoad(event) {
// do something
}

function onError(event) {
// do something
}

texture = THREE.ImageUtils.loadTexture(url,mapping,onLoad,onError)

您可以传递{}进行映射或使用此处定义的任何值

http://threejs.org/docs/59/#Reference/Textures/Texture

答案 1 :(得分:0)

var imgloader = new THREE.ImageLoader( manager );
imgloader.load(tex, function(event) {
    // Event stuff
});