Edited at

SpriteKit等でもCAMediaTimingFunctionを使う方法

More than 3 years have passed since last update.


CAMediaTimingFunction、便利だけどCoreAnimation内でしか使えない

CAMediaTimingFunction はベジエ曲線を使った綺麗なイージングのTimingFunctionをつくれるクラスです。

以下のようなツールを使って直感的になめらかなイージングを簡単に作れるので便利です。

http://netcetera.org/camtf-playground.html

ですがSpriteKit上などでは使用できないのでわりと困りました。


CoreAnimation以外でも使えるやつできた

探しまくったのですが意外と見つからず、

ここのJavaScriptをSwiftに書き直しました。

https://gist.github.com/entotsu/bebc65e184ea109ddef6


使用例

let move = SKAction.moveTo(point, duration:2.0)

let timingFunc = TKTimingFunction(0.6, 0.0, 0.1, 0.6)
move.timingFunction = {timingFunc.get($0)}