我想添加和删除带有句点的对象。例如,我有一个包含 50 个对象的数组。我想添加带有句点的对象,同时删除前一个对象,就像创建对象流一样。首先我尝试使用 setTimeout 和 setInterval 函数,但它们不起作用(在渲染函数内部和外部)。然后我尝试了这个;
function render(){
controls.update(clock.getDelta());
renderer.render( scene, camera);
i = i+1;
if (i % 2 == 0){
if (i % 300 == 0){
remove(lights);
}
else
{ scene.add(lights[(i/2)]);
}
}
}
它可以工作,但它不会开始添加第一个对象的进程。我还尝试了 getElapsedtime() 而不是迭代 i,但这次它只添加第一个对象。我可以使用更有效的时间控制方法吗?
非常感谢。
最佳答案
像这样的东西会起作用:
var spotOn = true;
window.setInterval(function(){spot()},milliseconds);
function spot() {
var i;
if(spotOn) {
for(i = 0; i < lights.length; ++i) {
scene.add(lights[i]);
}
} else {
for(i = 0; i < lights.length; ++i) {
scene.remove(lights[i]);
}
}
spotOn = !spotOn;
}
function render(){
renderer.render( scene, camera);
}
关于javascript - 如何在 Three.js 中随时间添加/删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21565105/