如何以线性动画速度沿弧线移动CCNode?

时间:2015-01-25 16:06:28

标签: objective-c animation cocos2d-iphone bezier

我正在尝试以半圆运动动画CCNode,让它以不变的速度移动。我以为我可以通过Bezier动画实现这个目标。

我正在尝试找到正确的实施方式,以便CCActionBezierByref)执行一项根本不具备缓和率的操作。

CGFloat duration = 5;
// bezierConfig is already set
CGFloat rate = 0.0f;
id action = [CCActionBezierBy actionWithDuration:duration bezier:bezierConfig];
id ease = [CCActionEaseRate actionWithAction:action rate:rate];
id spawn = [CCActionSpawn actions:action, ease, nil];

当我操纵速率时,我可以看到结果,0是最低的简易动画。但是如何让动画完全呈线性?

1 个答案:

答案 0 :(得分:0)

将移动节点放在父节点中。它从父根的坐标将是移动半径。然后进行2次旋转动作。父母一次旋转,速度恒定。并且节点本身的旋转方向相反。