2016-03-10 171 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