【发布时间】:2017-10-04 19:04:19
【问题描述】:
我需要你的帮助。
我正在尝试删除一个节点并在关闭前一个节点后加载一个新节点。
实际上我可以在一个单独的函数中删除它:
sceneView.scene.rootNode.enumerateChildNodes { (node, stop) in
node.removeFromParentNode()
}
但在那之后我回忆起“addChild”函数,新节点没有出现在场景中。
func addChild(object: String){
if let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {
let path = dir.appendingPathComponent(object)
//reading
do {
scene = try SCNScene(url: path)
node = scene.rootNode
}
catch {/* error handling here */}
}
counter += 1
}
"addChild" 将数组的一个元素作为参数,每次调用 func 后,计数器都会将指针移动到数组的另一个元素。
EX:我有一个包含两个元素的数组,我希望第一次显示的对象始终是第一个,然后当我触摸该对象时,它将被删除并且必须调用 func addChild通过这种方式,前一个元素从数组中删除,并且由于将指针移动到下一个元素的计数器将加载下一个元素。
我不知道我的例子是否足够解释。 先感谢您!
【问题讨论】:
-
因为第一个元素显示在场景中,所以它进入了内部......
标签: swift xcode scenekit arkit