执行动作时spritenode规模会变大吗?

时间:2015-03-01 23:33:08

标签: swift sprite-kit

所以我有一个名为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被执行时(不是在同一时间之后或之前),我需要精灵来生成"成长"或者在延迟期间逐步扩展到0.3的范围。

我尝试在延迟期间编写savior.setScale(0.3),但精灵没有增长 - 只是在diagonalRight发生后立即按比例缩放到0.3,这不是我需要的。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

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

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