cocos2d-x 贝塞尔曲线(Bezier)用法详解

转载:https://blog.csdn.net/dh2442897094/article/details/51291510

网上看到一些关于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的点都是相对于起始点的相对坐标。

说明: PS 作图工具 制作曲线,就是这种方式的

猜你喜欢

转载自www.cnblogs.com/porter/p/12442190.html