2016-03-10 127 views
3

您好我在加载场景纹理时生成加载消息时遇到了一些麻烦。 onProgress console.log消息仅在纹理完全下载并且不在执行期间触发。onProgress与Three.js纹理加载

manager = new THREE.LoadingManager(); 

manager.onProgress = function() { 
    console.log('loading'); 
}; 
manager.onLoad = function() { 
    console.log('loaded'); 
}; 
manager.onError = function() { 
    console.log('there has been an error'); 
}; 

var textureLoader = new THREE.TextureLoader(manager); 
var planetTexture = textureLoader.load('/assets/images/planet/{{page.planet}}/{{page.planet}}.jpg'); 

我不得不通过实例来看看,但无法弄清楚它们是如何在这个例子中obj loader

回答

0

onLoad回调将一次在装载机管理者的每一项被称为做。所以如果你加载一个纹理,它会调用一次。你可以在this fiddle中看到。

使用回叫,你可以调用load方法时将它作为第二个参数:

loader.load(
    url, 
    onLoad 
); 

这意味着你不能看到个别图像的进展,而仅仅是为了监测进度加载多个时纹理与相同的加载器管理器。

+0

嗨我试过你的代码,我仍然有同样的问题。 – user3704608

+0

@ user3704608我更新了我的答案 – Wilt

+0

我认为他希望在单个纹理上取得进展,就我所见,只有在管理器中的每个项目完成后,加载管理器才会调用进度函数。 – 2pha