【发布时间】:2014-09-10 05:01:09
【问题描述】:
我正在使用 three.js 开发一个简单的模型预览器,用户可以在其中动态上传和更改模型材质的纹理等。
在我的一生中,我无法克服这个错误,并且对于应该具有 addEventListener 方法的 three.js 中的其他加载器,我遇到了这个问题。那么我做错了什么?我正在使用 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 );
}
图片成功上传到服务器后调用该函数。我要做的就是改变已经存在的材质的纹理。
【问题讨论】:
-
您最近是否更新了 Three.js 并且之前可以正常工作?对于 OBJLoader 和其他外部加载器,您还需要更新这些文件。对于 ImageLoader 我不太确定,但你也可以只使用 Three.ImageUtils.loadTexture();
-
@GuyGood,感谢您的回复。我之前没有使用过 ImageLoader,所以不能说它是否适用于以前的版本。我改用 ImageUtils.loadTexture() 并且效果很好。谢谢!
-
顺便说一句,我仍然想知道为什么原始代码不起作用。以后我可能需要 .addEventListener 方法,所以我可能会在使用各种three.js 函数时再次遇到这个问题。一个明确的答案无疑会对其他入门级用户有所帮助。
标签: three.js