如何在SKLabelNode
动画中增加数字?
如果您玩过Clash of Clans,那么当您收集Elixir或Gold时,您将熟悉您的总计动画。
即。当我向Integer
添加500时,我想动画SKLabelNode
以快速循环显示从0到500的数字。所以每次按下按钮,动画都会出现。
我该如何解决这个问题?
答案 0 :(得分:2)
我在操场上做一个快速的代码来引导一些光,我不知道代码是否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);
}
}
答案 1 :(得分:0)
首先,将分数打印为0.将变量i(您不必将其称之为)初始化为0.然后,在更新功能中,打印分数并增加i。为我工作。
override func update(currentTime: NSTimeInterval)
{
if i <= score
{
scoreText.text = "Score \(i)"
i++
}
}