0

当我在文本框中输入第二次、第三次...时,我想删除旧对象并添加新对象。我的意思是从场景中删除对象并根据新输入添加新对象。请工作示例或编辑我的小提琴。我在网上搜索了很多并尝试了各种可能性,没有一个对我有帮助。

这是我的工作小提琴:这里

这是示例代码:

for (var i = 0; i < document.getElementById('txtN').value; i++) {

            var scale = 10;
            var conegeo = new THREE.Mesh(getGeometry(meshMaterial), new THREE.MeshFaceMaterial(meshMaterial));
            subset.push(conegeo);
            conegeo.doubleSided = true;
            conegeo.overdraw = true;
            conegeo.position.set(i*(0.5-Math.random())*scale, (0.5-Math.random())*scale, (0.5-Math.random())*scale);
            conegeo.updateMatrix();
            conegeo.matrixAutoUpdate = false;
            scene.add(conegeo);

        }

有什么帮助吗?

4

1 回答 1

1

我知道了。我将变量设为全局变量,每次更新都不需要更改。现在它的工作并包含在按钮点击中:

if (scene.children.length > 0)
           for (var i = scene.children.length - 1; i > 0; i--) {
               var child = scene.children[i];
               scene.remove(child);
               render(camera, scene);
           }
于 2013-02-09T11:33:45.627 回答