Cocos2d и iOS: не могу понять использование контрольных точек с помощью ccBezierConfig
РЕДАКТИРОВАТЬ: Если вопрос написан плохо, посмотрите видео (3), та же ссылка, что и в нижней части этой страницы.
Я пытаюсь нарисовать очень простую кривую Безье, используяccBezierConfig и Cocos2D. Читая википедию я попытался немного понять контрольные точки и нашел это изображение:
http://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/Bezier_2_big.png/240px-Bezier_2_big.png
Если вы посмотрите на страницу википедии, с которой я взял изображение, там есть крутая анимация. ПосмотриВот.
Это код, который я использовал:
CCSprite *r = [CCSprite spriteWithFile:@"hi.png"];
r.anchorPoint = CGPointMake(0.5f, 0.5f);
r.position = CGPointMake(0.0f, 200.0f);
ccBezierConfig bezier;
bezier.controlPoint_1 = CGPointMake(0.0f, 200.0f);
bezier.controlPoint_1 = CGPointMake(180.0f, 330.0f);
bezier.endPosition = CGPointMake(320.0f,200.0f);
id bezierForward = [CCBezierBy actionWithDuration:1 bezier:bezier];
[r runAction:bezierForward];
[self addChild:r z:0 tag:77];
Приложение работает в портретном режиме, и мои предположения совпадают с контрольными точками1 и в моем коде было то, что:
sprite.position should correspond to P0
bezier.controlPoint_1 should correspond to P0
bezier.controlPoint_2 should correspond to P1
bezier.endPosition should correspond to P2
Я попробовал два подхода. Устанавливая положение спрайта и не устанавливая его.
Я предположил, что позиция должна быть такой же, как controlPoint_1, как в схеме Википедии1 Есть только три пункта.
I get an output I don't quiet understand.. I made a little video of it, is a private youtube video: