我想在场景顶部附近显示一个分数。评分取决于您持续的秒数,每当我尝试使用NSTimer实施时,数字保持为0.提前感谢!
答案 0 :(得分:3)
您真的不需要NSTimer
。由于您使用的是SpriteKit,因此您可以使用SKAction
。这是一个例子:
let increaseScoreAction = SKAction.runBlock { score++ }
let waitAction = SKAction.waitForDuration(1)
let groupAction = SKAction.group([increaseScoreAction, waitAction])
let repeatAction = SKAction.repeatActionForever(groupAction)
runAction(repeatAction)
答案 1 :(得分:1)
所以,非常简单,这就是我尝试过的,它运行正常。我将计时器存储为实例变量,以便在必要时使其无效。
class ViewController: UIViewController {
var score: Int = 0
var timer: NSTimer?
override func viewDidLoad() {
super.viewDidLoad()
timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("incrementTimer"), userInfo: nil, repeats: true)
}
func incrementTimer() {
score++
println(score)
}
}