我正在使用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 );
}
图像成功上传到服务器后会调用此函数。我试图做的就是改变已经存在的材料的纹理。
答案 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)
您可以传递{}进行映射或使用此处定义的任何值
答案 1 :(得分:0)
var imgloader = new THREE.ImageLoader( manager );
imgloader.load(tex, function(event) {
// Event stuff
});