1. 程式人生 > >cocos2d-x 貝塞爾曲線(Bezier)用法詳解

cocos2d-x 貝塞爾曲線(Bezier)用法詳解

網上看到一些關於cocos2d-x的介紹,感覺講的都很模糊。

今天,終於將這個問題搞清楚了。詳解如下:

ccBezierConfig bezier;//配置貝塞爾曲線
bezier.controlPoint1=Vec2(); //座標省略了
bezier.contrloPoint2=Vec2();
bezier.endPosition=Vec2();

sprite->runAction(BezierBy::create(3.0f,bezier));//3.0f表示運動時間

如何如何控制曲線形狀:


      (Po為起始點(預設起始位置),P1位控制點1,P2為控制點2,P3為結束點)。(控制點用來確定切線)

PoP1和P2P3為該曲線的切線,Po、P3為該曲線的兩個切點。(任何一條曲線都可以通過與它相切的控制線兩端的點來定義)

請注意理解上面這句話。

實際就是通過兩條切線和兩個端點來定義一條曲線。

注意:

當使用CCBezierTo時,ccBezierConfig的點都是絕對座標點。但如果使用CCBezierBy,ccBezierConfig的點都是相對於起始點的相對座標。