swift - 延迟更改分数

标签 swift for-loop sprite-kit

我想创造这种效果,分数随着每个数字之间的延迟而变化,就像 Flappy Bird 游戏结束屏幕上的分数一样。

在这个例子中,它应该在我触摸屏幕时开始计数。

import SpriteKit

class GameScene: SKScene, SKPhysicsContactDelegate {

//    Global declaration of objects
var scoreLabel = SKLabelNode()
var score:Int = 15

override func didMoveToView(view: SKView) {
    /* Setup your scene here */

    scoreLabel = SKLabelNode(fontNamed: "RubberBiscuitBold")
    scoreLabel.fontSize = 50
    scoreLabel.fontColor = SKColor.blackColor()
    scoreLabel.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
    scoreLabel.zPosition = 1000
    self.addChild(scoreLabel)
}


override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
   /* Called when a touch begins */

    for var i = 0; i <= score; i++ {

        scoreLabel.runAction(SKAction.waitForDuration(1))
        scoreLabel.text = "\(i)"
        print("\(i)")}

}

最佳答案

尝试这样的事情:

for var i = 0; i <= 10; i++ {
        let seconds: Double = 0.5
        let count = i
        let delay = seconds * Double(NSEC_PER_SEC)  // nanoseconds per seconds
        let dispatchTime = dispatch_time(DISPATCH_TIME_NOW, Int64(delay * Double(i)))

        dispatch_after(dispatchTime, dispatch_get_main_queue(), {
            print("\(count)")
            scoreLabel.text = "\(count)" })
        }

关于swift - 延迟更改分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35129203/

相关文章:

ios - 从函数的返回类型推断类型为泛型

javascript - JQuery for 循环和数组 - 为什么这个变量未定义?

ios - 从 plist 加载图像

swift - SpriteKit 中的方向键

ios - 所有这些 if 语句真的有必要吗?

swift - 通用类型与同一类型不同

ios - 直接从任何地方呈现深度嵌套的 View Controller ,同时保留层次结构

swift - 柯里化(Currying)所有 swift 函数参数,但不调用该函数

bash - md5 目录树中的所有文件

java - Hangman Java 游戏打印错误和正确的猜测