Javascript 如何在Three.js中随时间添加/删除对象

Javascript 如何在Three.js中随时间添加/删除对象,javascript,time,timer,three.js,Javascript,Time,Timer,Three.js,我想添加和删除带有句点的对象。例如,我有一个包含50个对象的数组。我想在删除前一个句点的同时添加带有句点的对象,就像创建对象流一样。首先,我尝试使用setTimeout和setInterval函数,但它们都不起作用(渲染函数内部和外部)。然后我尝试了这个 function render(){ controls.update(clock.getDelta()); renderer.render( scene, camera); i = i+1; if (i % 2

我想添加和删除带有句点的对象。例如,我有一个包含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);
}
var spotOn=true;
setInterval(函数(){spot()},毫秒);
功能点(){
var i;
如果(斯波顿){
对于(i=0;i