Cocos2d-x学习笔记(十五)之 绘制图形

  在节点类CCNode 中, 可以重写draw 函数并在其中绘制图形。下面就来介绍一下几个常用的图形绘制。

  1、绘制直线:

 1 //参数分别为直线的起点和终点。默认绘制的直线是白色的、不透明的、线宽是1 并且是抗锯齿的。
 2 ccDrawLine( ccp(0, 0), ccp(s.width, s.height) );
 3 
 4 //设置线宽
 5 glLineWidth( 5.0f );
 6 //设置颜色
 7 ccDrawColor4B(255,0,0,255);
 8 ccDrawLine( ccp(0, s.height), ccp(s.width, 0) );
 9 
10 //注意:OpenGL 中是状态机,除非重新设置,否则这些参数都会保持到下
11 一个状态。

  2、绘制点:(OpenGL 中的点是正方形的)

1 CCPoint points[] = { ccp(60,60), ccp(70,70), ccp(60,70), ccp(70,60) };
2 ccPointSize(4);
3 ccDrawColor4B(0,255,255,255);
4 ccDrawPoints( points, 4);

  3、画圆:

1 //函数的参数为圆心、半径、角度、分段数(将圆微分为直线)和是否与中心连线
2 glLineWidth(2);
3 ccDrawColor4B(0, 255, 255, 255);
4 ccDrawCircle( ccp(s.width/2, s.height/2), 50, CC_DEGREES_TO_RADIANS(90), 50,
5 true);

  4、画多边形:

1 //函数的参数为点数组、点数量和图形是否封闭
2 ccDrawColor4B(255, 0, 255, 255);
3 glLineWidth(2);
4 CCPoint vertices2[] = { ccp(30,130), ccp(30,230), ccp(50,200) };
5 ccDrawPoly( vertices2, 3, true);

  5、画贝塞尔曲线:

1 //函数的第一个参数为一个控制点,第二个和第三个参数为两个控制点,最后一个参数为分段数
2 CHECK_GL_ERROR_DEBUG();
3 // 画正方贝塞尔曲线
4 ccDrawQuadBezier(ccp(0,s.height), ccp(s.width/2,s.height/2), ccp(s.width,s.
5 height), 50);
6 CHECK_GL_ERROR_DEBUG();
7 // 画立方贝塞尔曲线
8 ccDrawCubicBezier(ccp(s.width/2, s.height/2), ccp(s.width/2+30,s.height/2+50),
9 ccp(s.width/2+60,s.height/2-50),ccp(s.width, s.height/2),100);

  好了绘制图形就先介绍这几个比较常用的,如果你还需要其他的图形绘制,建议到官网查看文档。地址:http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Reference

原文地址:https://www.cnblogs.com/atong/p/3277387.html