在ThreeJS中预加载纹理和图像?

时间:2015-07-01 07:35:04

标签: javascript three.js textures preload

我想问一下是否有一个简单的解决方案来预装ThreeJs中的纹理和图像。 我将它们全部加载到一个数组中:myTextureArray.push(new THREE.ImageUtils.loadTexture('../ textures / floor_red.jpg');

如何检查是否以及何时成功加载所有纹理?

以下是旧版链接:http://museum.baraq.de/

感谢您的帮助!

1 个答案:

答案 0 :(得分:7)

Three.js中有一个Loading Manager可用于跟踪加载的纹理或对象。

示例实施:

var textureManager = new THREE.LoadingManager();
textureManager.onProgress = function ( item, loaded, total ) {
    // this gets called after any item has been loaded
};

textureManager.onLoad = function () {
    // all textures are loaded
    // ...
};

var textureLoader = new THREE.ImageLoader( textureManager );
var myTextureArray = [];
var myTexture = new THREE.Texture();
myTextureArray.push( myTexture );

textureLoader.load( 'my/texture.jpg', function ( image ) {
    myTexture.image = image;
} );

在Three.js r71中测试过。