7

我正在使用 three.js 修订版 53

在 Canvas Renderer(Win7 上的 IE)中加载纹理并为 onLoad 事件添加回调时,不会显示纹理。当我删除回调函数时,纹理将按预期显示:

// 不工作与回调添加

var material = new THREE.MeshBasicMaterial({
            map: THREE.ImageUtils.loadTexture('text_build.png', {}, function()
            {
 //do something
            })
});
var plane = new THREE.Mesh(new THREE.PlaneGeometry(135, 135), material);
plane .overdraw = true;
scene.add(plane );

// 没有回调的工作

var material = new THREE.MeshBasicMaterial({
             map: THREE.ImageUtils.loadTexture('text_build.png')
});
var plane = new THREE.Mesh(new THREE.PlaneGeometry(135, 135), material);
plane .overdraw = true;
scene.add(plane );

在 WebGL 渲染器(FF,WIN7 上的 Chrome)中运行相同的代码时,两个示例都可以正常工作。

也许有人可以指出我显然在这里犯的错误。

非常感谢。

4

1 回答 1

14

试试这个:

var material = new THREE.MeshBasicMaterial({    
    map: THREE.ImageUtils.loadTexture( 'text_build.png', new THREE.UVMapping(), function() { ... } )
});
于 2012-12-20T22:16:15.637 回答