所以我有一个名为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,这不是我需要的。
我该怎么做?
答案 0 :(得分:1)
对于缩放动画,您可以使用scaleTo
SKAction
。
let scale : CGFloat = 0.3
let duration : NSTimeInterval = 1.0
let scaleAction = SKAction.scaleTo(scale, duration: duration)
node.runAction(scaleAction)