如何复制包含两个或多个 SKTileMapNode 的 SKTileMapNode 或 SKNode 。
结构是:
- BackgroundNode(空)
- SKTileMapNode
- SKTileMapNode
我希望在我的场景中执行以下操作:
guard let background = self.childNode(withName: "BackgroundNode") else {
return
}
background0 = background
background1 = background.copy()
self.addChild(background1)
这会导致不可见的东西。节点已复制,但我仍然看不到任何内容,并且 SKTileMap 的值未正确复制到副本中。例如不应用 tileSize。
如何获得我的 BackgroundNode 的副本?
Best Answer-推荐答案 strong>
您应该使用自己的实现覆盖 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 - 如何复制带有子节点的 SKNodes,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/45015391/
|