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

来源:互联网 发布:php查找字符串是否存在 编辑:程序博客网 时间:2024/06/01 21:36

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所示,下图。同样,控制点位置将决定曲线形状
图2

注意,当使用CCBezierTo时,ccBezierConfig的点都是绝对坐标点。但如果使用CCBezierBy,ccBezierConfig的点都是相对坐标点。这点要谨记。

原创粉丝点击