【问题标题】:Animate a number changing in SpriteKit在 SpriteKit 中为数字变化设置动画
【发布时间】:2016-02-16 02:07:51
【问题描述】:

我正在使用SwiftSpriteKit。 例如,我想要一个数字从 20 变为 10。我希望在它改变的同时显示数字的变化。更具体地说,我希望 19 显示 0.1 秒,18 显示 0.1 秒,依此类推。我无论如何都找不到这样做。补充一点:数字 20 和数字 10 在任何时候都可能不同,因此代码不应仅适用于这些特定数字但是,我找到了更改文本的代码:

var counterNumber = 20
var label = SKSpriteLabel()
//...
label.text = "\(counterNumber)"
label.fontName = "Helvetica Neue"
label.fontSize = 30
label.fontColor = SKColor.blackColor()
//...
counterNumber = 10
label.text = "\(counterNumber)"

提前谢谢...安东

【问题讨论】:

    标签: swift sprite-kit sklabelnode


    【解决方案1】:

    您可以在SKScene 中使用update 函数。它有一个参数——当前时间。使用它(可能是场景加载时设置的开始时间),您可以知道场景中已经过去了多少时间。然后就像您已经展示的那样,只需更新您的标签即可。

    【讨论】:

      【解决方案2】:

      我找到了答案:

      var counterNumber = 20
      var counterLabel = SKLabelNode()
      
      override func didMoveToView(view: SKView) {
          /* Setup your scene here */
      
          counterLabel.text = "\(counterNumber)"
          counterLabel.fontName = "Helvetica Neue"
          counterLabel.fontSize = 100
          counterLabel.fontColor = SKColor.blackColor()
          counterLabel.position = CGPoint(x: self.frame.width / 2, y: self.frame.height / 2)
          self.addChild(counterLabel)
      
      
      }
      
      override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
         /* Called when a touch begins */
      
          let wait = SKAction.waitForDuration(0.5)
          let block = SKAction.runBlock({
      
              self.counterNumber = self.counterNumber - 1
              self.counterLabel.text = "\(self.counterNumber)"
      
          })
      
          let sequence = SKAction.sequence([wait, block])
      
          counterLabel.runAction(SKAction.repeatAction(sequence, count: 10))
      
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-08-18
        • 2011-08-22
        • 2018-03-12
        • 1970-01-01
        • 2011-02-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多