【发布时间】:2015-01-14 06:36:58
【问题描述】:
在我的游戏中,我希望在红灯动画期间触摸屏幕时出现一个游戏结束标签。绿灯动画关闭时红灯动画打开。当玩家在红灯动画期间触摸屏幕时,我希望游戏屏幕暂停并出现游戏结束标签。到目前为止我有这个,但是当我尝试运行它时应用程序崩溃了。
错误信息:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“尝试添加一个已经有父节点的 SKNode:名称:'(null)' text:'游戏结束! Tap to Play Again' fontName:'Helvetica' position:{1024, 768}'
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
/* Called when a touch begins */
if gameOverLabel.parent == nil
{
self.addChild(gameOverLabel)
}
println(score)
scoreLabel.text = "\(score)"
}
【问题讨论】:
-
发布崩溃消息并突出显示崩溃的代码行。当您使用它运行 addChild 时,gameOverLabel 是否可能已经在层次结构中?
-
我在原帖中添加了错误信息。
-
无意冒犯,但是您阅读了错误信息吗?对我来说看起来很清楚。你应该在某个时候使用
removeFromParent。 -
是的,我读过它,但不知道如何解决这个问题。我写了这行代码“gameOverLabel.removeFramParent()”。但是在redLight动画中触摸屏幕时gameOverLabel仍然没有出现。
-
你能展示你初始化
gameOverLabel的完整代码吗?
标签: ios swift sprite-kit skscene