2

しばらく前から質問をしましたが、ユーザーから、迅速なベジェ曲線のプロトタイプを作成するために使用できるこのプラグインツールがあることを説明してくれました。

私はこれを試し、作成しました:

それが私がツールで作成したものです

私はそれがこの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]];

残念ながら、私が得る道は私が期待していたものと静かではありません。キャラクターが画面の左上隅から動き始めてから上に上がるだけで、期待した動きが見られません。

私が間違っていることについての説明はありますか?

ところで..私はiOS6.0、RetinaディスプレイiPodtouch第4世代でCocos2d2.0を使用しています。

編集:

もう一つの例..

この構成はこのようになり 、最後から最初まで対称的なことを「逆さま」に行うと思いました。

私が間違っていることについて何か提案はありますか?

    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]];
4

1 に答える 1

4

私はCCBezierByを使用していましたが、例はCCBezierTo式に基づいています。したがって、CCBezierByの代わりにCCBezierToを使用すると、すべてが期待どおりに機能します。

于 2013-02-08T09:53:59.200 に答える