首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >玩游戏过场

玩游戏过场
EN

Stack Overflow用户
提问于 2015-01-14 06:36:58
回答 1查看 961关注 0票数 1

在我的游戏中,我希望在红灯动画期间,当屏幕被触摸时,会出现一个标签上的游戏。当绿灯动画关闭时,红灯动画就打开了。我希望游戏屏幕暂停和游戏标签显示时,当玩家接触屏幕期间,红灯动画。到目前为止,我有这种情况,但是当我尝试运行它时,应用程序就会崩溃。

错误信息:

由于“NSInvalidArgumentException”异常终止应用程序,原因:“试图添加一个已具有父级的SKNode :名称:(Null)文本:”游戏结束!再次点击“fontName:'Helvetica‘位置:{1024,768}”

代码语言:javascript
复制
 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)"
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-14 12:57:21

尝尝这个。您正在用字体大小设置gameOverLabel,字体大小太大,框架位于屏幕外。这就是为什么它是看不见的。而且,当游戏结束时,你必须停止游戏。

代码语言:javascript
复制
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)"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27937077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档