我如何复制一个 SKTileMapNode
或一个包含两个或多个 SKTileMapNode
的 SKNode
。
结构是:
- 背景节点(空)
- SKTileMapNode
- SKTileMapNode
我很乐意在场景中执行以下操作:
guard let background = self.childNode(withName: "BackgroundNode") else {
return
}
background0 = background
background1 = background.copy()
self.addChild(background1)
这导致不可见的东西。节点已复制,但我仍然看不到任何内容,并且 SKTileMap 的值未正确复制到副本。例如,不应用 tileSize。
我如何设法获得我的 BackgroundNode
的副本?
最佳答案
你应该用你自己的实现覆盖 SKNode
类的copy(with:)
方法,以便能够与 SKNode
的子级一起复制.
但是你可以简单地做这样的事情:
guard let background = self.childNode(withName: "BackgroundNode") else {
return
}
let backgroundCopy = SKNode()
for child in background.children {
backgroundCopy.addChild(child)
}
addChild(backgroundCopy)
关于ios - 如何复制带 child 的 SKNodes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45015391/