我试图制作一个函数来在一次拍摄中从场景中删除所有对象,但它只删除了一个对象以供调用。
GeometryModel.prototype.clearScene = function(scene) {
var i;
for(i=0; i < scene.children.length; i++){
obj = scene.children[i];
scene.remove(obj);
}
}
我尝试过的另一个解决方案是:
scene.children={};
但我不确定它是否正确。
原文由 Stefano Maglione 发布,翻译遵循 CC BY-SA 4.0 许可协议
你必须做相反的事情:
因为在每次迭代中
.children
数组会发生变化,一旦您从头开始执行.remove()
并且该数组的索引会发生变化。如果您想更好地理解它,请展开 for 循环并遵循数组中的索引。