Also lerne ich swift2 und ich benutze ein Freunde-Projekt. Er hat einen Zähler für das Spiel, aber ich möchte ein Etikett erstellen, wenn der Benutzer stirbt. Ich habe versucht, die Score-Label zu setzen (Score), aber der Code setzt den Score auf 0 und zählt ohne Chance score
. Ich weiß nicht, wie man Punkteaktualisierung macht. Dies ist der CodeEinstellen eines neuen Ergebnisses mit willSet
var score:Int = 0 {
willSet {
let scoreBand = childNodeWithName(StickHeroGameSceneChildName.ScoreName.rawValue) as? SKLabelNode
scoreBand?.text = "\(newValue)"
scoreBand?.runAction(SKAction.sequence([SKAction.scaleTo(1.5, duration: 0.1), SKAction.scaleTo(1, duration: 0.1)]))
if (newValue == 1) {
let tip = childNodeWithName(StickHeroGameSceneChildName.TipName.rawValue) as? SKLabelNode
tip?.runAction(SKAction.fadeAlphaTo(0, duration: 0.4))
}
}
}
let scoreLbl = SKLabelNode(fontNamed: "AmericanTypewriter")
scoreLbl.position = CGPointMake(0, 200)
scoreLbl.text = "\(newValue)" // , this throws error, tried score but it = 0
node.addChild(scoreLbl)
@EricAya, habe ich versucht, aber es immer 0 ... Warum ist das? – hahu
Es ist 'immer 0', weil 'willSet' läuft, bevor' score' gesetzt wird und somit 'score' mit dem Standardwert' 0' beginnt. – GoZoner