无法从three.js场景中删除精灵?

时间:2014-05-03 15:09:16

标签: javascript three.js sprite

我需要在3D绘图上重绘轴标签(实现为精灵),为此需要在添加更新的标签之前删除旧标签。然而,这让我感到悲伤:旧标签只是拒绝离开现场!我使用Three.js发布了66。

使用Three.js示例场景对此进行测试:http://threejs.org/examples/#webgl_sprites我只需添加以下代码:

setInterval(removesprites, 1000);

所以每一秒我们都会删除所有的精灵:

function removesprites() {
  for ( var i = group.children.length-1; i>=0 ; i-- ) {
      var sprite = group.children[ i ];
      console.log("removing");
      scene.remove(sprite);
  }
}

精灵都在Object3D组中。我在另一篇文章中读到需要反向移除对象(因此需要移除后向循环),但无论我循环使用哪种方式,标签都不会被删除。

任何想法?

1 个答案:

答案 0 :(得分:2)

而不是

scene.remove( sprite );

使用

group.remove( sprite );

请参阅Object3D.remove()

three.js r.67