【问题标题】:Cocos2d 2.x: understanding ccBezierConfig beheaviourCocos2d 2.x:理解 ccBezierConfig 行为
【发布时间】:2013-01-29 18:14:03
【问题描述】:

我从前一段时间就开始关注这个问题了,我问了一个question,一位用户友好地回复我说有this plugin tool可以用来创建快速贝塞尔曲线原型。

我尝试并制作了这个:

认为它会在这个 ccBezierConfig 中得到完美的翻译:

ccBezierConfig bezier;
self.position = CGPointMake(-10.0f, 400.0f);
bezier.controlPoint_1 = CGPointMake(160, 190.0f);
bezier.controlPoint_2 = CGPointMake(200, 190.0f);
bezier.endPosition =CGPointMake(340.0f,280.0f);

id bezierForward = [CCBezierBy actionWithDuration:3 bezier:bezier];    
[self runAction: [CCSequence actions:
                  bezierForward, [CCHide action],
                  nil]];

不幸的是,我得到的路径并不像我所期望的那样安静。角色从屏幕的左上角开始移动,然后向上移动,我没有看到预期的移动。

任何解释我做错了什么?

顺便说一句..我在 iOS 6.0 上使用 Cocos2d 2.0,视网膜显示 iPod touch 第 4 代。

编辑:

另一个例子..

我认为这个配置会像 this 那样做,然后从头到尾做对称的事情,但是“倒置”。

关于我做错了什么有什么建议吗?

    ccBezierConfig bezier;

     self.position = CGPointMake(0.0f, 150.0f);
     bezier.controlPoint_1 = CGPointMake(-20.0f, 290.0f);
     bezier.controlPoint_2 = CGPointMake(260, 290.0f);
     bezier.endPosition =CGPointMake(340.0f,150.0f);

    id bezierForward = [CCBezierBy actionWithDuration:3 bezier:bezier];


    ccBezierConfig bezier2;
    bezier2.controlPoint_1 = CGPointMake(340.0f, 10.0f);
    bezier2.controlPoint_2 = CGPointMake(80, 10.0f);
    bezier2.endPosition =CGPointMake(-20.0f,150.0f);

    id bezierReturn = [CCBezierBy actionWithDuration:3 bezier:bezier2];


    [self runAction: [CCSequence actions:
                      bezierForward, bezierReturn, [CCHide action],
                      nil]];

【问题讨论】:

  • 该网站的链接带有由 java 制成的贝塞尔应用程序......好吧,我的浏览器完全阻止了那些 java 的东西。有人知道另一个网站没有使用任何危险的东西吗? html5 有人吗?

标签: ios cocos2d-iphone bezier


【解决方案1】:

我使用的是 CCBezierBy,但示例基于 CCBezierTo 公式。因此,如果我使用 CCBezierTo 代替 CCBezierBy,一切都会按预期工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-20
    • 2014-01-08
    • 2012-12-28
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 2014-01-27
    • 1970-01-01
    相关资源
    最近更新 更多