cocos2d-x 贝塞尔曲线的简单运用(CCBezierTo,CCBezierBy)

时间:2022-10-16 23:56:05

原文链接:http://blog.csdn.net/we000636/article/details/8616355

一.贝赛尔曲线简单介绍

贝塞尔曲线是应用于二维图形应用程序的数学曲线。曲线的定义有四个点:起始点、终止点(也称锚点)以及两个相互分离的中间点。滑动两个中间点,贝塞尔曲线的形状会发生变化 

cocos2d-x 贝塞尔曲线的简单运用(CCBezierTo,CCBezierBy)图1

p0起点,p3是终点,p1,p2是控制点

http://en.wikipedia.org/wiki/B%C3%A9zier_curve

贝兹曲线的描写叙述结构体例如以下:
  1. /** @typedef bezier configuration structure
  2. */
  3. typedef struct _ccBezierConfig {
  4. //! end position of the bezier
  5. CCPoint endPosition;
  6. //! Bezier control point 1
  7. CCPoint controlPoint_1;
  8. //! Bezier control point 2
  9. CCPoint controlPoint_2;
  10. } ccBezierConfig;
 CCBezier这个action是以当前位置为起始点的,描写叙述结构体则指明它的目的地,控制点1和控制点2.

当两个控制都在以起点终点为连线的的一个面时,它的路径如图1所看到的,两个控制点的位置将决定曲线的形状
以起点到最终为连线,两个控制点分别在两面时,它的路径如图2所看到的,下图。相同,控制点位置将决定曲线形状
注意,当使用CCBezierTo时,ccBezierConfig的点都是绝对坐标点。但假设使用CCBezierBy,ccBezierConfig的点都是相对坐标点。这点要谨记。