我如何迭代三个js中的场景儿童

时间:2017-07-10 01:41:08

标签: javascript function three.js

使用三个js:

我有一个函数removeBysid(id)

我想要做的是进入我场景中的所有孩子并检查第三个孩子的treeNode并获得其唯一的sid(我创建的变量)。

我在控制台中:

  

scene.children[4].children[0].children[0].treeNode

我得到了我想用这个功能实现的目标。

现在我想要一个函数迭代所有的子节点,而不像我在控制台中那样对索引进行硬编码。

function removeBysid(id) {
 scene.traverse(function(element) {
    //element returns Scene {uuid: "AC30E121-517A-40F9-8F86-F3626003A3C7", name: "", type: "Scene", parent: null, //children: Array(6)…} now i want to check scene.children[4].children[0].children[0].treeNode.sid = sid
 })
}

1 个答案:

答案 0 :(得分:0)

它应该看起来像这样:

function removeBysid(id) {
    scene.traverse(function(element) {
        if (element.children[0].children[0].treeNode.sid == id) {
            scene.remove(scene.getObjectById(element.id);
            // And since you know it's unique...
            return;
        }
    })
}