SpriteKit-Spring 是一套扩展,用于使用 SpriteKit 执行弹性动画。
如果您需要支持 iOS 7,只需将 SpriteKit-Spring.swift 添加到您的项目中。
如果您仅支持 iOS 8,您可以通过添加以下行到您的 Podfile
将 SpriteKit-Spring 作为框架安装(版本 0.36 或以上):
use_frameworks!
pod 'SpriteKit-Spring'
然后您需要将 SpriteKit-Spring 导入到您希望使用它的任何地方。
import SpriteKit_Spring
iOS 7 中,Apple 通过在 UIView 上添加一个新的动画方法引入了 UIKit 中的弹性动画(请参见 WWDC 视频 和 UIView 文档)。
此库通过向大多数 SKAction 工厂方法添加弹性变体来复制此功能。参数 usingSpringWithDamping:
和 initialSpringVelocity:
与其 UIKit 对应物具有相同的意义。以下是示例。
let move = SKAction.moveByX(0, y: 200,
duration: 5, delay: 5,
usingSpringWithDamping: 0.2, initialSpringVelocity: 0)
node.runAction(move)
let scale = SKAction.scaleXTo(2, y: 0.5,
duration: 5, delay: 5,
usingSpringWithDamping: 0.2, initialSpringVelocity: 0)
node.runAction(scale)
let rotate = SKAction.rotateByAngle(CGFloat(M_PI/2),
duration: 5, delay: 5,
usingSpringWithDamping: 0.2, initialSpringVelocity: 0)
node.runAction(rotate)
customActionWithDuration:actionBlock:
,所以这些操作都不是可逆的(逆向操作执行相同的动画)。animateKeyPath:byValue:duration:delay:usingSpringWithDamping:initialSpringVelocity:
和 animateKeyPath:toValue:duration:delay:usingSpringWithDamping:initialSpringVelocity:
方法,这些方法可以动画化任何 CGFloat 键路径。如果您有一个具有您想要动画化的复杂 CGFloat 属性的 SKNode 子类,请随时使用这些方法!SpriteKit-Spring 根据 Apache 2 许可证发布。有关详细信息,请参阅 LICENSE。