我将如何在SKLabelNode
动画中增加数字?
如果您玩过《部落冲突》,您就会熟悉在收集圣水或金币时总得分的动画。
即,当我将 500 添加到一个时,Integer
我想动画化SKLabelNode
以快速循环从 0 到 500 的数字。所以每次我按下按钮时,都会发生动画。
我应该如何解决这个问题?
我将如何在SKLabelNode
动画中增加数字?
如果您玩过《部落冲突》,您就会熟悉在收集圣水或金币时总得分的动画。
即,当我将 500 添加到一个时,Integer
我想动画化SKLabelNode
以快速循环从 0 到 500 的数字。所以每次我按下按钮时,都会发生动画。
我应该如何解决这个问题?
我在操场上做了一个快速的代码来引导一些光线,我不知道代码是否 100% 工作,但逻辑是这样的
var timeAnimation = 2;
var coinsLabel:SKLabelNode = SKLabelNode(text: "0");
var gainCoin = 400;
var currentCoin = 20;
func addCoin(coinTotal:Int)
{
currentCoin = coinTotal+currentCoin;
self.runAction(SKAction.customActionWithDuration(timeAnimation, updateLabel));
func updateLabel(node:SKNode!, t:CGFloat) -> Void{
let coinToAdd = currentCoin*(t/timeAnimation);
coinsLabel.text = ""+Int(coinToAdd);
}
}
首先,将分数打印为 0。将变量 i(您不必这样称呼它)初始化为 0。然后,在更新函数中,打印分数并增加 i。为我工作。
override func update(currentTime: NSTimeInterval)
{
if i <= score
{
scoreText.text = "Score \(i)"
i++
}
}