所以我有一个名为 savior
的 Sprite ,它最初设置为以下大小: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
时(不是在之后或之前,而是同时执行),我需要 Sprite “增长”或逐渐缩放以达到 0.3
的比例延迟期间。
我尝试在延迟期间编写savior.setScale(0.3)
,但 Sprite 并没有增长 - 它只是在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)
关于swift - 执行 Action 时让 Sprite 节点规模变大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28800573/