首页 > 代码库 > cocos2d-x 贝塞尔曲线的简单运用(CCBezierTo,CCBezierBy)

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

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

一.贝赛尔曲线简单介绍
贝塞尔曲线是应用于二维图形应用程序的数学曲线。曲线的定义有四个点:起始点、终止点(也称锚点)以及两个相互分离的中间点。滑动两个中间点,贝塞尔曲线的形状会发生变化 
图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的点都是相对坐标点。这点要谨记。

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