如何删除节点并添加新节点Swift
问题描述:
我需要你的帮助。如何删除节点并添加新节点Swift
我试图删除一个节点并在解散了前一个节点后加载一个新节点。
其实我可以它使用一个单独的FUNC内删除:
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通过这种方式,前一个元素从数组中删除,下一个元素将被加载,这要归功于将指针移动到下一个元素的计数器。
我不知道我的例子是否足够说明。 提前谢谢!
答
修复了刚刚回想起函数内部的“sceneView.scene = scene”,每当我调用函数removeChild时从数组中删除元素。
FUNC的addChild(对象:字符串){ 如果让DIR = FileManager.default.urls(为:.documentDirectory,在:.userDomainMask)。首先{
let path = dir.appendingPathComponent(object)
//reading
do {
scene = try SCNScene(url: path)
node = scene.rootNode
sceneView.scene = scene
}
catch {/* error handling here */}
}
}
OFC它越来越内,因为第一元件显示在场景中... –