【发布时间】:2017-02-03 19:53:59
【问题描述】:
对于通过自定义 SKAction 完成的运动,我想要一种比传统方程创建曲线更强大的缓动类型。
如何使用 SKKeyFrameSequence 在 SKAction 中驱动动画?
SKKeyFrameSequence 创建我想要的曲线类型,如下所示:
let sequence = SKKeyframeSequence(
keyframeValues: [0.00, 0.05, 0.25, 0.70, 0.85, 0.95, 0.98, 1.00],
times: [0.00, 0.10, 0.15, 0.20, 0.23, 0.28, 0.50, 1.00])
sequence.interpolationMode = .spline
stride(from: 0.00, to: 1.00, by: 0.025).forEach {
let value = sequence.sample(atTime: CGFloat($0))
这看起来像这样,在 PlayGrounds 中创建的曲线上:
自定义类型 SKActions 包含经过的时间和要应用更改的节点。
但我无法想象如何获取 SKKeyFrameSequence 值并将它们放入自定义 SKAction 以转换正在运行自定义操作的节点的位置、旋转或缩放。
SK 自定义动作文档: https://developer.apple.com/reference/spritekit/skaction/1417745-customaction
【问题讨论】:
标签: swift animation sprite-kit skaction skkeyframesequence