您的位置:首页 > 移动开发 > Cocos引擎

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

2015-06-07 21:07 507 查看
http://blog.csdn.net/we000636/article/details/8616355

一.贝赛尔曲线简介

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


图1

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

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

贝兹曲线的描述结构体如下:
/** @typedef bezier configuration structure
*/
typedef struct _ccBezierConfig {
//! end position of the bezier
CCPoint endPosition;
//! Bezier control point 1
CCPoint controlPoint_1;
//! Bezier control point 2
CCPoint controlPoint_2;
} ccBezierConfig;


CCBezier这个action是以当前位置为起始点的,描述结构体则指明它的目的地,控制点1和控制点2.

当两个控制都在以起点终点为连线的的一个面时,它的路径如图1所示,两个控制点的位置将决定曲线的形状

以起点到终于为连线,两个控制点分别在两面时,它的路径如图2所示,下图。同样,控制点位置将决定曲线形状



图2

注意,当使用CCBezierTo时,ccBezierConfig的点都是绝对坐标点。但如果使用CCBezierBy,ccBezierConfig的点都是相对坐标点。这点要谨记。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: