我有一个基于this示例的页面,并使用webgl_material_bumpmap示例中的相关行来实现加载进度Dom Element。
该页面是(暂时)here。如果我在下面提供的信息不足,请参阅此页面的来源。
我的问题是加载模型时加载文本块不会消失。 我用它来表明:
function installModel(file) {
if (model) {**strong text**
scene.remove(model);
}
render();
var loader = new THREE.JSONLoader(true);
loader.load("obj/" + file, modelLoadedCallback);
document.body.appendChild( loader.statusDomElement );
}
init函数(没有错误处理的东西)是
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera(50, theCanvas.width/theCanvas.height, 0.1, 100);
camera.position.z = 30;
camera.lookAt( scene.position );
controls = new THREE.OrbitControls( camera, renderer.domElement );
controls.damping = 0.3;
controls.addEventListener( 'change', render );
createWorld();
installModel("room1.json");
render();
loader.statusDomElement.style.display = "none";
}
为什么加载文字仍然可见?
答案 0 :(得分:1)
您可能需要添加:
loader.statusDomElement.style.display = "none";
打印到控制台后,在回调函数modelLoadedCallback()
中。
答案 1 :(得分:0)
我解决了这个问题。 我不得不添加另一个名为" prog"的div元素。 那么
var show
function show() {
document.getElementById("prog").style.display = "inline";
}
和
var loader = new THREE.JSONLoader(true);
document.getElementById("prog").appendChild(loader.statusDomElement );
loader.load("obj/" + file, modelLoadedCallback);