`
modabobo
  • 浏览: 506085 次
文章分类
社区版块
存档分类
最新评论

【Cocos2d-x游戏引擎开发笔记(18)】图形绘制

 
阅读更多

原创文章,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/8480048

图形绘制的话,在cocos2d-x自带的TestCpp里有,包括绘制点,直线,多边形(填充的和没有填充的),圆,贝赛尔曲线。

首先在HelloWorld类中重写父类的draw方法

virtual void draw();


在源文件中将init中的类容删去,应为init方法比draw先执行,会覆盖我们画出的效果。删除之后,init方法如下

bool HelloWorld::init()
{
    bool bRet = false;
    do 
    {
        CC_BREAK_IF(! CCLayer::init());
        bRet = true;
    } while (0);

    return bRet;
}


然后在draw方法中写如下代码:

void HelloWorld::draw()
{
	CHECK_GL_ERROR_DEBUG();
	/*
	画一条直线,默认的宽度是1,颜色是白色,不透明,glEnable(GL_LINE_SMOOTH);
	默认的情况下是后面不再设置颜色后线宽
	*/

	glLineWidth( 1.0f );
	ccDrawColor4B(255,255,255,255);
	ccDrawLine(ccp(0,0),ccp(480,320));
	CHECK_GL_ERROR_DEBUG();



	glLineWidth( 5.0f );
    ccDrawColor4B(255,0,0,255);
    ccDrawLine(ccp(0,320), ccp(480,0));
	CHECK_GL_ERROR_DEBUG();


	//ccPointSize(128);这个没用啊
    ccDrawColor4B(0,255,255,128);
    ccDrawPoint( ccp(240,200) );
    CHECK_GL_ERROR_DEBUG();


	// 4个点一起画
    CCPoint points[] = { ccp(60,60), ccp(70,70), ccp(60,70), ccp(70,60) };
    ccPointSize(4);
    ccDrawColor4B(0,255,255,255);
    ccDrawPoints( points, 4);



	// draw a green circle with 10 segments
    glLineWidth(1);
    ccDrawColor4B(0, 255, 0, 255);
    ccDrawCircle( ccp(240,160),//圆心
		100,//半径
		1, //如果后面设置了从圆心到圆的连线为true的话,
		//这个值是连线的角度,0为水平向左,逆时针
		360,//将这个圆分为多少块
		true//是否有从圆心到圆的连线
		);

	//画一个多边形
	ccDrawColor4B(255, 255, 0, 255);
    glLineWidth(1);
    CCPoint vertices[] = { ccp(0,0), ccp(50,50), ccp(100,50), ccp(100,100), ccp(50,100) };
    ccDrawPoly( vertices, 5, true//是否封闭
		);


	 // 填充的多边形
	glLineWidth(1);
	CCPoint filledVertices[] = { ccp(0,120), ccp(50,120), ccp(50,170), ccp(25,200), ccp(0,170) };
	ccDrawSolidPoly(filledVertices, 5, ccc4f(0.5f, 0.5f, 1, 1 )//填充颜色
		);



	//贝塞尔曲线
	ccDrawColor4B(255, 255, 0, 255);
	ccDrawCubicBezier(ccp(0,0),//开始点
		ccp(50,50),//控制点
		ccp(250,100),//控制点
		ccp(300,300),//目标点
		100//分成多少段得到的曲线
		);



	// 还原默认值
    glLineWidth(1);
    ccDrawColor4B(255,255,255,255);
    ccPointSize(1);

}


在代码中的注释解释的很清楚,下面来一张效果图:

源代码的话,那就没有必要上传了,代码我都贴出来了。

分享到:
评论

相关推荐

    大富翁手机游戏开发实战基于Cocos2d-x3.2引擎

    资源名称:大富翁手机游戏开发实战基于Cocos2d-x3.2引擎内容简介:李德国编著的《大富翁手机游戏开发实战(基于 Cocos2d-x3.2引擎)》使用Cocos2d-x游戏引擎技术,带领读者一步一步从零开始进行大富翁移动游戏的开发...

    Cocos2D-X游戏开发技术精解

    资源名称:Cocos2D-X游戏开发技术精解内容简介:Cocos2D-X是一款支持多平台的 2D手机游戏引擎,支持iOS、Android、BlackBerry等众多平台。当前,很多移动平台流行的游戏,都是基于Cocos2D-X开发的。 《Cocos2D-X...

    Cocos2d-x实战:JS卷——Cocos2d-JS开发

    资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...

    Cocos2D-X游戏开发技术精解.pdf

    《Cocos2D-X游戏开发技术精解》详细介绍如何使用Cocos2D-X引擎开发自己的移动平台游戏。全书共15章,主要内容包括:Cocos2D-X引擎简介;如何建立跨平台的开发环境;引擎的核心模块——渲染框架;如何实现动态画面和...

    精通COCOS2D-X游戏开发 基础卷_2016.4-P399-13961841.pdf

    精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发

    大富翁手机游戏开发实战 基于Cocos2d-x3.2引擎

    李德国编著的《大富翁手机游戏开发实战(基于 Cocos2d-x3.2引擎)》使用Cocos2d-x游戏引擎技术,带领... 本书适合Cocos2d-x引擎游戏开发初学者、游戏设计人员,也适合作为高等院校和培训学校相关专业师生的教学参考。

    Cocos2d-x游戏引擎实战开发炸弹超人

    Cocos2d-x 是一个支持多平台的 2D 手机游戏引擎

    【Cocos2d-x游戏引擎开发笔记(13)】Tiled Map Editor(一)

    【Cocos2d-x游戏引擎开发笔记(13)】Tiled Map Editor(一)

    【Cocos2d-x游戏引擎开发笔记(13)】Tiled Map Editor(二)

    Cocos2d-x【Cocos2d-x游戏引擎开发笔记(13)】Tiled Map Editor(二)

    精通Cocos2d-x游戏开发(进阶卷)源代码

    精通Cocos2d-x游戏开发(进阶卷)源代码 精通Cocos2d-x游戏开发(进阶卷)源代码 精通Cocos2d-x游戏开发(进阶卷)源代码

    【Cocos2d-x游戏引擎开发笔记(17)】实现运动的尾巴效果

    【Cocos2d-x游戏引擎开发笔记(17)】实现运动的尾巴效果

    Cocos2d-x高级开发教程

    Cocos2d-x是移动跨平台开发最流行的游戏引擎,而本书是一本很全面的、比较‘接地气’的游戏开发教程。书中汇聚了热门手机游戏《捕鱼达人》开发的实战经验,作者从最基础的内容开始,逐步深入地介绍了Cocos2d-x的相关...

    cocos2d-x游戏开发实战精解

    本光盘是《Cocos2d-x游戏开发实战精解》一书的配书光盘,内容介绍如下。 (1)本书教学视频:该文件夹收录了本书的配套多媒体教学视频,可用暴风影音等视频播放器播放。 (2)本书源文件:该文件夹收录了本书涉及...

    Cocos2d-x-3.x游戏开发之旅

    Cocos2d-x-3.x游戏开发之旅-钟迪龙著 全新pdf版和附书代码(代码为工程文件,可复制) 附带目录标签

    Cocos2d-x游戏编程——C++篇 .iso

    Cocos2d-x游戏编程——C++篇(电子工业出版社,徐飞 著)书本配套的光盘代码,

    Cocos2d-x 3.x游戏开发实战pdf含目录

    Cocos2d-x 3.x游戏开发实战pdf含目录,内容详细,强烈推荐给大家。

    cocos2d-x-2.1.5

    cocos2d-x-2.1.5

    实例妙解Cocos2D-X游戏开发

    一线资深游戏开发工程师根据Cocos2D-X 最新版本撰写,Cocos2D-X创始人王哲、CSDN创始人蒋涛联袂推荐 完全通过真实游戏案例驱动,不仅将Cocos2D-X的各种功能、原理、技巧融入其中,而且还详细讲解了空战类、塔防类、...

    cocos2d-x事件类

    在使用cocos2d-x开发游戏的过程中,为了实现逻辑和显示相分离。 在下通宵了一个晚上,写出了该事件类。 谨记,该事件只能用于cocos2d-x中。 事件发送者需要继承EventDispatcher类 事件接收者需要继承EventHandle类...

    cocos2d-x-3.2旧版引擎下载

    cocos2d-x-3.2下载,不多说。或者可以下载另一个资源 cocos引擎老版本集合(cocos2d-x-2.2.1 - 3.5) http://download.csdn.net/download/crazymagicdc/9982656

Global site tag (gtag.js) - Google Analytics