Javascript 如何在三个js中迭代场景子对象
使用三个js: 我有一个函数Javascript 如何在三个js中迭代场景子对象,javascript,function,three.js,Javascript,Function,Three.js,使用三个js: 我有一个函数removeBysid(id) 我想做的是进入场景中的所有子对象,检查第三个子对象的treeNode,并获取其唯一的sid(我创建的变量) 在控制台中执行以下操作时: scene.children[4]。children[0]。children[0]。treeNode 我得到了我想要的功能 现在,我需要一个函数来迭代所有子项,而不必像在控制台中那样硬编码索引 function removeBysid(id) { scene.traverse(function(ele
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
})
}
应该是这样的:
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;
}
})
}
是一种方法,因此它将自动迭代整个场景。在给定函数中放置断点、控制台日志或警报,您可以看到每个对象都会调用它。尝试检查您的
sid
,如果遇到任何问题或错误,请更新您的帖子。您找到解决方案了吗?