【问题标题】:Cocos2d: Move a Sprite along a path/bezier?Cocos2d:沿着路径/贝塞尔移动精灵?
【发布时间】:2010-05-14 14:20:04
【问题描述】:

我需要在 Iphone 上使用 Cocos2d 将精灵从一个 CGPoint 移动到另一个。问题是动画应该沿着贝塞尔曲线。

基本上我会用这个:

id move = [CCMoveTo actionWithDuration:.5f position:ccp(100,200)];
[sprite runAction:move];

现在我怎样才能在非线性路径中做到这一点?

【问题讨论】:

    标签: cocos2d-iphone


    【解决方案1】:

    试试这个

    ccBezierConfig bezier;
    bezier.controlPoint_1 = ccp(0, s.height/2);
    bezier.controlPoint_2 = ccp(300, -s.height/2);
    bezier.endPosition = ccp(300,100);
    
    id bezierForward = [CCBezierBy actionWithDuration:3 bezier:bezier];
    

    【讨论】:

    • 我怎样才能将我的精灵限制在这个贝塞尔路径上,例如,它不能被拖到除了那个路径之外的任何地方?
    【解决方案2】:

    嗯,其实我又一次太快寻求帮助了。

    找到了解决办法,有一个方法:CCBezierTo

    【讨论】: