我設置一個標籤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