繁体   English   中英

如何与孩子一起复制SKNodes

[英]How to copy an SKNodes with children

如何复制的SKTileMapNodeSKNode含有两个或两个以上SKTileMapNode

结构是:

  • BackgroundNode(空)
    • 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM