CCBezierTo easyout

时间:2012-06-18 21:21:50

标签: iphone objective-c ios ipad cocos2d-iphone

目前在Objective-c工作。

我正在为我的精灵画一条路径,这一切似乎都很好但我只有一个问题似乎没有在任何地方得到解答。

我在Bezier的前两点与第三点相比非常接近,当我的精灵沿着这条路径动画时,它似乎在最后突然停止时被放入动画中。

有没有办法控制这个我想让动画保持一致的速度还是可以放松一下?

id bezierForward = [CCBezierTo actionWithDuration:totalDistance/300.f bezier:bezier];
[turkey runAction:bezierForward];

2 个答案:

答案 0 :(得分:2)

尝试一下:

id bezierForward = [CCBezierTo actionWithDuration:totalDistance/300.f bezier:bezier];
id easeBezierForward = [CCEaseOut actionWithAction:bezierForward rate:2.0]
[turkey runAction:easeBezierForward];

您需要使用费率值来查看最适合您的内容。您可能需要尝试一些其他CCEaseOut选项,例如CCEaseSineOut

链接:Cocos2d Ease Actions Guide

答案 1 :(得分:0)

根据文档:

,应该是这样的
id bezierForward = [CCEaseOut actionWithDuration:totalDistance/300.f bezier:bezier];
[turkey runAction:bezierForward];

正如文档中所述:

  

<强>变体形式

     

CCEaseIn:开头加速

  CCEaseOut:最后加速

  CCEaseInOut:开头/结尾的加速