在我的游戏中,我希望在红灯动画期间,当屏幕被触摸时,会出现一个标签上的游戏。当绿灯动画关闭时,红灯动画就打开了。我希望游戏屏幕暂停和游戏标签显示时,当玩家接触屏幕期间,红灯动画。到目前为止,我有这种情况,但是当我尝试运行它时,应用程序就会崩溃。
错误信息:
由于“NSInvalidArgumentException”异常终止应用程序,原因:“试图添加一个已具有父级的SKNode :名称:(Null)文本:”游戏结束!再次点击“fontName:'Helvetica‘位置:{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)"
}发布于 2015-01-14 12:57:21
尝尝这个。您正在用字体大小设置gameOverLabel,字体大小太大,框架位于屏幕外。这就是为什么它是看不见的。而且,当游戏结束时,你必须停止游戏。
if (!self.paused)
{
if isGreenLightON
{
score += 50
}
else
{
self.paused = true
if (gameOverLabel.parent != nil)
{
gameOverLabel.removeFromParent()
}
gameOverLabel.fontName = "Helvetica"
gameOverLabel.fontColor = UIColor.blackColor()
gameOverLabel.fontSize = 24
gameOverLabel.text = "Game Over! Tap to Play Again"
gameOverLabel.position = CGPointMake(CGRectGetMidX(self.frame), self.frame.size.height - 50)
self.addChild(gameOverLabel)
}
}
else
{
score = 0
if (gameOverLabel.parent != nil)
{
gameOverLabel.removeFromParent()
}
self.paused = false
}
scoreLabel.text = "\(score)"https://stackoverflow.com/questions/27937077
复制相似问题