如何使用swift为我的iOS游戏添加每秒计数的分数?

时间:2015-05-05 20:36:59

标签: ios swift sprite-kit

我想在场景顶部附近显示一个分数。评分取决于您持续的秒数,每当我尝试使用NSTimer实施时,数字保持为0.提前感谢!

2 个答案:

答案 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)
    }
}