0

テキストボックスに 2 回目、3 回目と番号を入力すると、古いオブジェクトを削除して新しいオブジェクトを追加したいと考えています。シーンからオブジェクトを削除し、新しい入力に基づいて新しいオブジェクトを追加することを意味します。作業例をしてくださいまたは私のフィドルを編集してください。私は Web で多くのことを検索し、さまざまな可能性を試しましたが、どれも役に立ちませんでした。

これが私の作業フィドルです:ここ

サンプルコードは次のとおりです。

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 に答える