【发布时间】:2016-06-11 02:53:45
【问题描述】:
我正在尝试使用 Ray Wenderlich 的书籍 2D iOS 和 tvOS 游戏中的方法制作无尽的背景,而我的游戏崩溃的原因是“尝试添加一个已经有父节点的 SKNode”,这是因为孩子已经打开了场景和循环尝试再次添加它,但我不知道如何修复它。
谢谢!
func backgroundNode() -> SKSpriteNode {
// 1
let backgroundNode = SKSpriteNode()
backgroundNode.anchorPoint = CGPoint.zero
backgroundNode.name = "background"
// 2
background1.anchorPoint = CGPoint.zero
background1.size = self.frame.size
background1.position = CGPoint(x: 0, y: 0)
backgroundNode.addChild(background1)
// 3
background2.anchorPoint = CGPoint.zero
background1.size = self.frame.size
background2.position =
CGPoint(x: background1.size.width, y: 0)
backgroundNode.addChild(background2)
// 4
backgroundNode.size = CGSize(
width: background1.size.width + background2.size.width,
height: background1.size.height)
return backgroundNode
}
for i in 0...1 {
let background = backgroundNode()
background.anchorPoint = CGPointZero
background.position =
CGPoint(x: CGFloat(i)*background.size.width, y: 0)
background.name = "background"
addChild(background)
}
【问题讨论】:
-
你能多发一点吗?到目前为止,我在这段代码中没有看到任何类似的错误。另外,发布发生错误的代码。可以添加异常断点来获取。
标签: ios swift loops sprite-kit