我设置一个标签scoreLabel.text使得游戏暂停
let scoreLabel = SKLabelNode(fontNamed: "Edit Undo Line BRK")
在功能
func increaseScoreBy(increment: Int) {
score += increment
scoreLabel.text = "Score: 100"
scoreLabel.removeAllActions()
scoreLabel.runAction(scoreFlashAction)
}
,如果我注释掉scoreLabel.text = “分数:100”,那么它会运行完美,但分数显然不会更新。原本我拥有它(分数),但我将它改为静态文本,看看是否是这个问题。关于为什么会这样做的任何想法?
有一点,如果它的\(分数)而不是100,那么每次分数更新时都会暂停(暂时冻结)游戏,如果它的硬编码,它只会第一次冻结。
update
在游戏中设置
scoreLabel.fontsize = 50
scoreLabel.text = "Score: 0"
scoreLabel.name = "scoreLabel"
scoreLabel.verticalAlignmentMode = .Center
scoreLabel.position = CGPoint(x: size.width/2, y: size.height - scoreLabel.frame.size.height + 3)
hudLayerNode.addChild(scoreLabel)
scoreFlashAction = SKAction.sequence([SKAction.scaleTo(1.5, duration: 0.1), SKAction.scleTo(1.0, duration: 0.1)])
scoreLabel.runAction(SKAction.repeatAction(scoreFlashAction, count: 20))
更新
的scoreLabel的初始化这肯定是字体键入一些如何。我删除了fontName,只是做了一个普通的标签,没有问题,但是当然字体是错误的。
我试过这样做,它一直告诉我,gameScene没有字体。我很快就会发现,所以我不确定发生了什么。 – 2015-02-18 13:58:18
您可以导入UIKit使其工作。 – Christian 2015-02-18 14:56:42
它仍然说GameScene.Type没有名为'font'的成员,我在放置声明中放置了font = UIFont(name:“Edit Undo Line BRK”,size:50) – 2015-02-18 15:43:24