执行动作时让spritenode比例变大?

Make spritenode scale to be larger while executing action?

所以我有一个名为 savior 的精灵,最初设置为这个大小:savior.setScale(0.2)

当用户触摸屏幕时,执行:

savior.runAction(SKAction.repeatActionForever(stopSaviorAnimate))

savior.runAction(SKAction.sequence([diagonalRight,
    SKAction.runBlock({
        let Touchdelay = 0.75 * Double(NSEC_PER_SEC)
        let Touchtime = dispatch_time(DISPATCH_TIME_NOW, Int64(Touchdelay))
        //during delay
        dispatch_after(Touchtime, dispatch_get_main_queue()) {
            //after delay
            self.savior.runAction(backToPlace)
            self.savior.runAction(SKAction.repeatActionForever(startUpSavior))
        }
    })
]))

随着 diagonalRight 的执行(不是之后或之前,同时执行),我需要精灵 "grow" 或逐步缩放以达到 0.3 的比例延迟。

我曾尝试在延迟期间写入 savior.setScale(0.3),但精灵没有变大 - 它只是在 diagonalRight 发生后立即捕捉到缩放到 0.3,这不是我需要的。

我该怎么做?

对于缩放动画,您可以使用 scaleTo SKAction

let scale : CGFloat = 0.3
let duration : NSTimeInterval = 1.0
let scaleAction = SKAction.scaleTo(scale, duration: duration)
node.runAction(scaleAction)