Cocos2D-X权威指南(第2版).html.pdf

上传人:紫竹语嫣 文档编号:5514177 上传时间:2020-05-27 格式:PDF 页数:385 大小:33.58MB
返回 下载 相关 举报
Cocos2D-X权威指南(第2版).html.pdf_第1页
第1页 / 共385页
Cocos2D-X权威指南(第2版).html.pdf_第2页
第2页 / 共385页
Cocos2D-X权威指南(第2版).html.pdf_第3页
第3页 / 共385页
Cocos2D-X权威指南(第2版).html.pdf_第4页
第4页 / 共385页
Cocos2D-X权威指南(第2版).html.pdf_第5页
第5页 / 共385页
点击查看更多>>
资源描述

《Cocos2D-X权威指南(第2版).html.pdf》由会员分享,可在线阅读,更多相关《Cocos2D-X权威指南(第2版).html.pdf(385页珍藏版)》请在三一文库上搜索。

1、前言 为什么要写这本书 从2011年开始,移动游戏开发引擎Cocos2D-X凭借其开源、易用和简单的特点逐步成为开发者开发二维手机游戏的首选。截止2013年年底,国内45个月收入超千万的游戏中,有30个是基于Cocos2D- X开发,占67%。中国区苹果畅销榜前10名游戏中,平均7个是基于Cocos2D-X开发;安卓360市场下载榜前10名游戏中,平均5个基于Cocos2D-X开发。在中国手游引擎领域,Cocos2D-X引擎以70%的占 有率和过硬的技术支撑占据着绝对高地。除了开发功能上具备多维度外,在使用角色和用途上Cocos2D-X也在不断向其他领域渗透。小米电视的UI采用Cocos2D-

2、X开发,新东方线上教育平台的应用采用 Cocos2D-HTML5开发。除了在国内,Cocos2D-X在日韩也有广泛的应用,Google Play韩国区畅销榜前15名游戏中,有9款游戏都是基于Cocos2D-X开发的。击败苹果应用商店,在日本区霸占榜首一年 半之久游戏的Monster Strike也是由Cocos2D-X开发,另外在该榜单上前五名的游戏有3款采用Cocos2D-X开发,这是Cocos2d-X游戏再次在一个移动游戏重要区域拿下总榜第一。 相比起Cocos2D-X的“兄长”Cocos2D-iPhone,Cocos2D-X凭借其跨平台的特性受到更多开发者的欢迎,所以从2013年开始,C

3、ocos2D家族由Cocos2D-iPhone和Cocos2D-X的联合发布逐步将重 心转移到Cocos2D-X上来。在2013年9月底的CocoaChina秋季开发者大会中,Cocos2D-X创始人王哲宣布了Cocos2D-X的3.0计划,并且Cocos2D第一开发者Ricardo Quesada正式加盟触控科技,将主 导Cocos2D-X的3.0版本开发,这正式预示着Cocos2D-X取代Cocos2D-iPhone成为Cocos2D最重要的分支,另外Cocos2D的最重要编辑器也由之前的CocosBuilder变成了之前由触控科技团队主导开发的 CocoStudio,相比于之前1.0版本

4、到2.0版本的进化,这次进化更有跨时代的价值。Cocos2D引擎家族进入“3.0”时代。 相比于2.0版本,这次对于引擎的改动和优化是前所未有的,大体上就是全面引入C+风格、去除Objective-C风格,而对代码的重新审核和重构确保了引擎在效率上的显著提升,同时加入全新的渲染 系统、全新的事件分发和注册方式,并对于之前保守批评的UI控件进行了全面的重写。另外还完善了开发工具,比如新建项目的命令行方式和Lua代码编辑器等,可以说这次的版本提升不论从广度和深度 上,都有了较大的提升。 本书第1版上市以来,受到读者的广泛好评,但是由于这次引擎的较大幅度改进,已经不能满足读者的需要,另外一些读者希望

5、学习脚本等方面的内容,正是因为这些反馈和需求,我才有了编写本书第 2版的想法,这一版不仅针对引擎更新,同时对原有内容和实例进行了扩充,希望继续成为广大Cocos2D-X使用者的入门图书和工作中的案头参考书。 读者对象 Cocos2D-X初级及中级开发者,了解C+语言和游戏开发的读者; 没有接触过Cocos2D-X,但有过Cocos2D其他版本开发经验的开发者; 没有Cocos2D-X和C+开发经验,但是有C、Java等语言开发经验的游戏程序员; 相关项目的策划及管理人员; 游戏开发爱好者; 开设相关课程的大专院校。 如何阅读本书 本书分为三大部分: 第一部分为基础篇(第110章),首先介绍了C

6、ocos2D-X的下载与安装,以及交叉编译环境的搭建,然后重点讲解了Cocos2D-X中的核心类、贴图类、动作、动画、特效、文字和字体、事件处理、 地图、声音以及物理引擎的使用,这部分结合Cocos2D-X自带的tests实例进行讲解,目的是让读者全面掌握Cocos2D-X的基础理论和基本使用。 第二部分为高级篇(第1116章),介绍了Cocos2D-X中的脚本引擎,常用算法在Cocos2D-X中的实现,粒子系统,着色器的使用和相关编辑器,在基础上进一步介绍引擎相关的内容,目的是让读者 更加全面地了解Cocos2D-X的使用。 第三部分为实战篇(第1720章),采用Cocos2D-X分别开发了

7、一款纵版设计游戏、横板动作游戏、物理类游戏和消除类游戏,旨在让读者深入了解Cocos2D-X的基础知识在游戏开发中的实战使用, 而且两种游戏分别代表了横板卷轴和纵版卷轴,可以让开发者深入了解不同类型的游戏的开发思想。 如果你是一名对Cocos2D-X有一定了解的开发者,可以从第3章开始阅读,而如果你是一个Cocos2D-X的初学者,请从第1章开始阅读。 第2版与第1版的区别 Cocos2D-X引擎基础内容根据3.0版本重新编写。更新已有内容,添加新增功能,比如UI控件和全新渲染系统,等等。 添加Cocos2D-X脚本相关内容。从语言特点到在引擎中的使用,再到注意事项,全面学习Cocos2D-X

8、脚本绑定。 添加Shader等引擎高级特性。 完善游戏实例,实例个数由原来的两个变成四个,并且四个实例分别采用不同知识点。 介绍CocosBuilder和CocoStudio两大编辑器。 具体章节调整如下: 第1章:原版第1章,内容更新,更新了Cocos2D-X的使用数据,主要是后半部分。 第2章:原版第2章,内容更新,新版本安装做了很大调整,新增了一些工具。 第3章、第4章:原版第3章,优化图片内存部分放到第4章。 第5章:原版第4章,新添加Flash转换一节,其他节更新了最新的API接口。 第6章:原版第5章,更新了最新的API接口。 第7章:原版第6章,新版本变化很大,内容做了很大改变,

9、添加了UI控件的介绍。 第8章:原版第7章,更新为最新版本,添加最新功能,即8.1.4节介绍的地形功能。 第9章:原版第8章,更新API接口。 第10章:原版第10章,最后添加物理精灵介绍。 第11章、第12章:为新增加的章,讲述Cocos2D-X中的脚本语言Lua和JavaScript的应用。 第13章:原版14章,更新代码,其他不变。 第14章:原版13章,更新接口和编辑器版本,最后添加新的编辑器介绍。 第15章:为新添章节,介绍着色器的应用。 第16章:原版第9章,改动较大,主要针对编辑器部分。 第17章:原版11章,采用JS绑定重写编写。 第18章:原版12章,代码有更新。 第19,2

10、0章:为新增加的章,新增两个实用的案例开发,并给出详细解析。 勘误和支持 除封面署名外,参与本书的还有实例中部分游戏的美术人员:其中第17和19章游戏实例的美术人员许鹏(新浪微博地址:http:/ 浪微博地址:http:/ 论群(群号:240533393,验证信息为:2dx3.0hzbook),大家有问题可以在群中提出,我也会及时解答并且在群中更新书中的错误。书中的全部源文件可以从华章网站 1下载,我也会将相应的功能更 新及时更正出来。如果你有更多的宝贵意见,也欢迎发送邮件至邮箱,期待能够得到你们的真挚反馈。 致谢 首先感谢Cocos2D以及Cocos2D-X的开发团队,感谢他们为广大游戏开发

11、者开发出一款如此优秀的游戏引擎。 感谢我的老东家天津猛犸科技有限公司,感谢对我的锻炼和栽培,使我从对游戏开发由“好奇”变成“爱好”,感谢公司中我的老师和好战友们,感谢他们和我并肩作战的日子,我在他们身上学到的 东西让我对游戏开发有更深的认识和热爱,另外感谢我目前的公司凯奇谷(北京)信息技术有限公司和我的同事们对于本书的支持。 感谢天津大学以及我的老师和同学们,尤其是我的编程启蒙老师罗凯先生。 感谢CSDN网站上每一位阅读我文章的网友,是你们给了我信心,让我一直写下去。 感谢本书第1版的读者的支持与鼓励,正是因为你们的支持,才有了第2版的问世。 感谢我的好朋友许鹏和李祖一,他们为本书同样付出了汗

12、水和努力,感谢他们富有创意的游戏美术设计。 感谢机械工业出版社华章公司的首席策划编辑杨福川和编辑高婧雅,感谢他们在这一段时间中始终支持我的写作,引导我能顺利完成全部书稿。可以说没有他们的帮助和支持,我不会有勇气写这本 书。 感谢我的爷爷和奶奶,他们是我人生的启蒙老师,尽管他们已经离开这个世界,但是我依然能感受到他们对我的支持和爱。 最后感谢我的父母,他们不仅含辛茹苦把我抚养长大,还教给我很多做人的道理,为了他们我要更加努力。 谨以此书献给我最亲爱的家人,以及众多热爱游戏开发和Cocos2D-X的朋友们! 满硕泉(bill_man)于天津 1 参见华章网站。编者注 第一部分 基础篇 本部分内容

13、第1章 认识Cocos2D-X 第2章 搭建跨平台的开发环境 第3章 Cocos2D-X中的核心类 第4章 Cocos2D-X中的图片渲染类 第5章 Cocos2D-X中的动作、特效与动画 第6章 Cocos2D-X中的菜单项和文本渲染系统 第7章 Cocos2D-X中的事件处理机制和UI控件 第8章 Cocos2D-X中的瓦片地图集 第9章 Cocos2D-X中的声音、存储和网络 第10章 Cocos2D-X中的物理引擎 第1章 认识Cocos2D-X 在这个“不愿等待”的时代,人们更需要“随时随地”与人通信或享受服务。相比台式计算机、笔记本电脑,移动设备是最贴近消费者的媒体。由于智能手机的

14、兴起,移动电话的更新换代越来越快。 而手机作为“带有体温”的设备,有更多功能的需求,移动互联网时代的到来,移动应用成为了大家生活中的一部分,而游戏作为人的天性,在移动应用中更是占有举足轻重的位置。在游戏开发中,引擎 可以起到提高开发效率、提高游戏品质的作用,Cocos2D系列在众多游戏引擎中脱颖而出,成为众多开发者的首选,本章就带领大家走进Cocos2D和Cocos2D-X的世界。 1.1 什么是Cocos2D 大家认识并且熟悉Cocos2D,应该是从App Store上几款非常火爆的游戏开始的,但是实际上Cocos2D引擎最早并非是为iOS(iPhone Operating System)设

15、计的,最早它是一款用Python语言开发 的游戏引擎,后来使用Objective-C移植为iOS平台的Cocos2D-iPhone版本,不仅如此,Cocos2D被移植成各个版本,形成了庞大的Cocos2D家族。 1.1.1 Cocos2D的特点 Cocos2D是一个开源框架,用于构建二维游戏、演示程序和其他图形界面交互应用等。它于2008年2月诞生于阿根廷Cordoba市附近的Los Cocos,最早是由Ricardo和他的朋友们用Python开发的。 最早引擎取名自开发地Los Cocos。后来引擎的0.1版本改名为Cocos2D。 2008年6月,该引擎宣布与iOS平台对接,并在当月发布了

16、以Objective-C为主语言的Cocos2D-iPhone版本,它与最早的Python版在设计思路上是一致的。之后使用Cocos2D-iPhone开发的首款游戏 StickWars在App Store美国区付费榜冲到第一,Cocos2D进入了商用阶段。 随着App Store的发展,很多开发者使用Cocos2D-iPhone开发游戏并将游戏提交到App Store上,截至2008年年底,App Store就已经有数十款游戏使用Cocos2D开发。 随着智能手机平台的发展,在其他平台上的游戏开发需求也开始多了起来,此时,Cocos2D的各种平台、各种编程语言移植版也开始涌现。ShinyCoc

17、os、Cocos2D-Android、CocosNet、Cocos2D- JavaScript相继诞生,Cocos2D的分支如图1-1所示。 图1-1 Cocos2D的发展及其分支 同时,英国的设计大师Michael Heald为Cocos2D设计了新的标志,如图1-2所示(最早的Cocos2D的标志(Logo)是一个奔跑的椰子)。 图1-2 Michael Heald为Cocos2D设计的标志 以下是Cocos2D的一些版本介绍。 ShinyCocos:把Cocos2D-iPhone绑定Ruby的实现。 CocosNet:Cocos2D的.NET实现,运行在Mono上。 Cocos2D-An

18、droid:Cocos2D的Java实现,并且能够在Android操作系统上运行。 Cocos2D-Android1:此分支由一位国内资深开发者建立并发展的,这是另一个关于Android操作系统的Cocos2D引擎实现。 Cocos2D-X:Cocos2D的C+语言移植版,目前2.0版本以上支持Win32(Windows 32,视窗32位操作系统)、Android、iOS。 Cocos2D-XNA:由Cocos2D-X团队开发的分支。支持WP(Windows Phone,视窗手机操作系统)。 Cocos2D-HTML5:由Cocos2D-X团队开发的分支。支持HTML5Canvas技术,获得G

19、oogle等公司的资助。 Cocos2D-JavaScript:Cocos2D的JavaScript语言实现,由于HTML5技术的发展,相信Cocos2D-JavaScript会有更广阔的前景。 1.1.2 Cocos2D的主要功能 作为一款游戏引擎,在游戏开发方面,Cocos2D引擎具有很多的实用功能。 首先它降低了技术的复杂性。它是基于OpenGL(Open Graphics Library,开放图形库)和OpenGL ES(OpenGL for Embedded Systems,嵌入式系统开放图形库),但是使用Cocos2D系列的引 擎无须掌握OpenGL的相关知识,大多数Cocos2D

20、游戏中简单的图形对象由Sprite精灵对象生成。Sprite就是一个贴图,可以调用Cocos2D中的方法来实现图片的缩放,如图1-3所示。 也可以调用Cocos2D实现旋转,如图1-4所示。 图1-3 Cocos2D实现缩放的内容 图1-4 Cocos2D实现旋转的内容 你无须关心这些功能在底层是如何实现的,同时它是开源的,可以获得引擎的全部源代码,也可以根据需要用OpenGL知识来修改或生成新的游戏对象。对于入门来说,Cocos2D可以避免你花费时间 去研究OpenGL的相关内容,同时它也不排斥资深开发者对引擎的修改,可随心所欲地使用。 Cocos2D自带的物理引擎可以提高玩家的乐趣,目前非

21、常火爆的“愤怒的小鸟”等多款游戏都在游戏中加入了物理引擎,Cocos2D系列引擎集成了目前比较流行的两款物理引擎Box2D和Chipmunk, 从而大大方便了游戏开发者,并且提高了开发的效率。Cocos2D中使用物理引擎的例子如图1-5和图1-6所示。 图1-5 Cocos2D中使用物理引擎Chipmunk的例子 图1-6 Cocos2D中使用物理引擎Box2D的例子 它的开发者社区十分活跃,在开发过程中如果有问题,很快会得到解决,而且,相应的参考资料也很多,开发者们非常愿意分享他们的经验和知识。因为是开源的,你的修改也相对方便了许多,在游 戏开发中会有很大的灵活性,不必完全束缚在引擎的功能限

22、制上,对于富有经验的游戏开发者来说,这点十分重要。 同时,由于其开源性和强大的社区支持,相应的工具开发也非常活跃,从最早的粒子编辑器到动画编辑器,目前集成编辑器CocosBuilder已经初见雏形并且支持Cocos2D和Cocos2D-X,触控科技新发 布的CocoStudio也在逐步完善。关于相关的工具,本书也会在之后的章节做详细的介绍。 1.1.3 Cocos2D的应用 Cocos2D作为一个游戏引擎,已经从最早的版本被移植到很多种语言和框架上,其中最流行的包括支持iOS操作系统的Cocos2D-iPhone版本,支持Android操作系统的Cocos2D-Android和Cocos2D-

23、 Android1,以及可以横跨两大操作系统(iOS和Android)的Cocos2D-X版本,当然不能忽略有着先天跨平台优势的Cocos2D-HTML5版本,相信不久的将来Cocos2D将会得到更广泛的应用。 当然,Cocos2D最为辉煌的舞台就是App Store,使用Cocos2D-iPhone和Cocos2D-X两个版本开发的游戏在App Store上占有着举足轻重的位置,曾经创下过很多辉煌的战绩。如图1-7所示,使用 Cocos2D引擎开发的游戏在Top Paid(付费应用榜)前9名中占2席,在Top Free(免费应用)前12名中占7席,并且有占据两个榜的第一位的辉煌战绩。 图1-

24、7 使用Cocos2D引擎开发的游戏 随着Cocos2D-HTML5的发布,相信将来Cocos2D引擎会有更大、更好的舞台发挥,尤其是在网页游戏方面,而借助HTML5这个跨平台利器,Cocos2D在跨平台的支持上将会迈出更大的一步。 1.2 什么是Cocos2D-X 之前已经介绍了Cocos2D家族,Cocos2D-X是Cocos2D家族的一个重要分支,因为它的跨平台特性,开发者编写一套代码就可以横跨Android和iOS两大平台。从而提高开发者的开发效率。 Cocos2D-X不但具有跨平台的特性,它还保留了Cocos2D的全部特性,这样Cocos2D开发者可以很轻松地掌握Cocos2D-X。

25、 1.2.1 Cocos2D-X的特点 随着智能设备平台的普及,用户数量的增多,智能平台的应用,尤其是游戏异常火爆,从植物大战僵尸到愤怒的小鸟,移动平台游戏的开发进入了新的阶段。但另一方面平台的多样性也给开发者带来 诸多不便,怎样将一款游戏发布到多个平台也是开发者们一直在探索的。特别是随着Android和iOS平台的兴起,开发者有了游戏跨平台的需求,随即Cocos2D-X分支诞生,其中“X”包含两个意思:一方 面是C+的文件扩展CXX,“X”标志着该项目是由C+编写的;另一方面意味着交叉,这个开源项目标是让用户创建跨平台的代码。Cocos2D-X是Cocos2D框架用C+重写的,因为Andro

26、id和iOS均支 持C+。Cocos2D-X具有跨平台的特点,再加上Cocos2D全球社区的支持及Cocos2D框架简单易学,使开发者十分容易快速上手。 Cocos2D-X迅速成为开发者的首选。经过一段时间发展,众多开发者使用Cocos2D-X开发出了多款游戏,包括捕鱼达人、地铁总动员等。2012年年初,英国设计大师Michael Heald专门为Cocos2D- X重新设计了新的标志,如图1-8所示。 图1-8 Michael Heald为Cocos2D-X设计的标志 2012年年初,Cocos2D-X团队再次开发两个分支,分别是支持Windows Phone的XNA版和支持HTML5的版,

27、后者还得到了Google公司的赞助。在Zynga的帮助下,Cocos2D-X已经研发绑定 JavaScript的Cocos2D-X的2.0版本。随着Cocos2D及其分支的发展,Cocos2D会有更多跨平台特性从而可以支持更多的平台,并且提高开发者的开发效率,相信Cocos2D-X将会更加受到广大开发者的欢 迎。Cocos2D-X引擎也可以扩大其影响,成为全平台的二维游戏引擎。 1.2.2 Cocos2D-X的主要功能 Cocos2D-X继承了Cocos2D的全部特点,包括如下内容。 流程控制:易于管理不同场景之间的流程控制。 精灵:快速而方便的精灵。 动作:可组合精灵的动作(如移动、旋转和缩

28、放等),使精灵动起来。 特效:特效包括波浪、旋转和透镜等特性。 平面地图:支持包括平面地图和45度角地图。 转换:从一个场景移动到另外一个不同的场景。 菜单:创建内部菜单。包括主菜单和游戏菜单。 文本渲染:支持文本渲染标签。 文档:编程指南+API参考+视频教学+很多教你如何使用的简单测试例子。 BSD许可:BSD(Berkly Software Distribution,伯克利软件套件)开源协议是一个给予使用者很大自由的协议。基本上使用者可以自由使用,修改源代码,也可以将修改后的代码作为开源或者专有软 件再发布。 基于OpenGL:支持硬件加速。 图1-9所示为国外网友为Cocos2D-X制

29、作的广告,说明了Cocos2D-X对于iOS和Android两个主流平台的支持。 图1-9 国外网友为Cocos2D-X制作的广告 1.2.3 “百花齐放”的辅助工具链 作为游戏引擎,Cocos2D-X一直因为相关工具链的不完善而遭人诟病,实际情况是大多数的公司都会为Cocos2D-X编写自己的工具,只是工具往往是针对一个项目或者只供内部使用,并不是推广使用 的,因为一个工具作为一个公用软件使用,需要长期对用户体验进行优化;CocosBuilder是第一步,这个由Zygna支持的项目一直在Ricardo Quesada的领导下开发,而CocosBuilder也被定义为Cocos2D 家族的引擎

30、官方首选工具,但是随着Ricardo Quesada离开Zygna,该官方工具也被停止了,目前知道的是依然有个别人在更新并完善CocosBuilder。 触控科技于2013年3月春季的开发者大会后推出了CocoStudio,这是另一个官方工具链,它包括动画、界面、数据和场景编辑器,由于基于.NET和C#开发,所以初期CocosBuilder目前只有Windows 版本,历经一年的发展,CocoSudio也由最初的运行中频繁崩溃和兼容性差,发展成为较稳定的开发工具,目前工具也在进行Mac版的移植工作,相信在Cocos2D-X新的版本中CocoStudio会占据更加重 要的位置,图1-10为Coc

31、oSudio的Logo。 图1-10 CocoSudio的Logo 随着引擎使用群体的不断扩大,第三方的工具链和框架也不断出现,包括支持Cocos2D-X的粒子编辑器V-Play等,以及基于Lua的Quick-Cocos2D-X。可以说,由于Cocos2D-X的开源性,更多 相关的工具和框架会被中小开发者所采纳,进入Cocos2D-X的开发门槛会越来越低。 1.2.4 Cocos2D-X主导的3.0时代 从2012年年底,也就是Cocos2D 2.1版本开始,Cocos2D家族的主要成员(Cocos2D-X、Cocos2D-iPhone、Cocos2D-HTML5以及开发工具CocosBuil

32、der)开始进行版本的联合发布,联合版本发 布标志着Cocos2D的主流版本函数接口的统一,随着Cocos2D-X的使用者逐渐增加,并且Cocos2D-X也可以很好地支持iOS系统(很多项目都以iOS版本为开发基础版本,之后再移植Android版 本),Cocos2D-iPhone的地位渐渐不像之前这么重要了,在2013年9月底的CocoaChina秋季开发者大会中,Cocos2D-X创始人王哲宣布了Cocos2D-X的3.0计划,并且Cocos2D第一开发者Ricardo Quesada正式加盟触控科技,将主导Cocos2D-X 3.0版本的开发,这正式预示着Cocos2D-X取代Cocos

33、2D-iPhone成为Cocos2D最重要的分支,另外Cocos2D的最重要编辑器也由CocosBuilder变成了之 前由触控科技团队主导开发的CocoStudio,相比于之前1.0版本到2.0版本的进化,这次进化更有跨时代的价值。Cocos2D引擎家族进入“3.0”时代。 说3.0具有跨时代意义,不止是因为Cocos2D-X跨平台引擎成为最主要的分支,还因为Cocos2D-X 3.0对于引擎的改动也是前所未有的,大体上就是全面引入C+风格,去除Objective-C风格,并且对 于代码的重新审核和重构,确保了引擎在效率上的显著提升,在1.0到2.0的变化过程中运行效率就提升了不少,这次更是

34、重新审核并重构了核心渲染部分的代码。Cocos2D-X 3.0的变化包括以下方面。 采用C+11标准,包括“auto”关键字的加入等。 移除Objective-C风格,包括“CC”前缀的类命名。 新的渲染系统,添加全局z轴坐标功能,可以在渲染排序时完全不受添加顺序的影响。 字体渲染的重构。 全新的事件分发和注册方式,注册事件更加方便。 物理引擎和引擎更好地结合,在引擎中加入物理相关的类。 Lua绑定使用体验的提升,加入使用域以及C+类转换Lua类的工具。 总体来说,新版的引擎无处不体现着Cocos2D-X更易用、更高效的理念,也正因为这些比较大的变化,才有了本书的重新编写。 1.2.5 Coc

35、os2D-X的应用 由于跨平台特性,Cocos2D-X得到了诸多开发者的喜爱。目前,Cocos2D-X引擎的全球市场渗透率已达到30%,海内外多家顶尖游戏公司(如网易、菲音、热酷、乐元素、人人游戏、Zynga、 Gamevil、LINE等)都有基于Cocos2D-X开发的手游产品。而国内,月收入过千万的游戏中,我叫MT、龙之力量、大掌门、神仙道、君王2等也都是用Cocos2D-X引擎开发。目前 Cocos2D-X游戏引擎的全球占有率为30%,排名全球第一。除了占有率,Cocos2D-X的游戏质量也在逐步提升。图1-11所示为截至2013年年底月收入千万的部分游戏清单,其中标注Cocos2D-X

36、图标的游 戏为使用Cocos2D-X开发,不仅如此,在各大优秀手游评选中,Cocos2D-X开发的游戏也保持着半数以上的席位。 图1-11 截至2013年年底月收入千万的部分游戏清单 Cocos2D-X在日韩手游开发中也占据着主要的位置,日本手游勇者斗恶龙仙境和韩国角色扮演大作泽诺尼亚都由Cocos2D-X开发,日本的图书市场还出现了不少Cocos2D-X图书,开发者的 活跃程度不亚于中国。图1-12为日本开发者为Cocos2D-X设计的“四姐妹”宣传图,分别为:Cocos2D-X、Cocos2D-HTML5、Cocos2D-X Lua/JavaScript脚本绑定、Cocos3D扩展,反映日

37、本开发者对 该引擎的喜爱。 图1-12 日本开发者设计的Cocos2D-X“四姐妹” 令人更加意想不到的是,凭借着良好的跨平台性,Cocos2D-X的应用已经不仅仅在游戏领域了,前有小米盒子界面开发采用Cocos2D-X引擎,后有新东方的教育软件。2012年,新东方在线团队招聘 了一些iOS工程师,计划开发一款互动性较强的幼教类产品。这些工程师中有人曾接受过Cocos2D引擎的培训,于是便选择了这款引擎。随着业务的增长,他们开始往Android平台迁移,这个过程 中,Cocos2D-HTML5强大的跨平台性让他们十分惊喜,在过去的200多天里,新东方在线的工程师们已经用Cocos2D-HTML

38、5开发出了150余款产品,如此高的开发效率让人赞叹,Cocos2D-HTML5也扮 演着重要的作用。 1.3 Cocos2D-X与Cocos2D-iPhone的比较 Cocos2D-X与Cocos2D的其他版本及Cocos2D-iPhone版本最大的不同之处就是,它并不是单纯为某一个平台而开发的,它的目的就是为了跨平台,包括Cocos2D-X和其分支下的Cocos2D-HTML5版 本,所以从语言的选择上,Cocos2D-X选择了几大主流移动平台(Android、iOS和Windows)都支持的C+作为开发语言,并且在效率上也有所保证,Cocos2D-HTML5版本采用了HTML5作为跨平台的

39、 选择,使得Cocos2D游戏框架得以在更多的平台上使用,尤其是网页平台。 由于Cocos2D-X的跨平台性,它的开发工具也体现出跨平台的特性,如果使用Windows操作系统,可以使用Visual Studio进行开发,也可以使用Eclipse的C+插件及Android开发环境进行开发;如 果使用Linux操作系统,可以使用Eclipse的C+插件及Android开发环境进行开发;如果使用Mac系统,可以使用Xcode进行开发。当然,如果想要编译出相应平台运行的游戏包,需要相应的开发环境, 比如编译出Android操作系统上的APK(Android Package),就需要在Android的开

40、发环境里进行编译(这些内容会在第2章介绍),但是代码无须重新修改,这就为开发提供了便捷性和灵活性,这点与 使用Cocos2D-iPhone相比,只是使用Xcode开发环境有所不同。 Cocos2D-X的另一个利好优势就是它的主力开发团队在中国,这就为中国的开发者提供了不少便利,关于Cocos2D-X的中文资料和网站也比较多,而且目前Cocos2D的引擎分支的主力开发者也转入 了Cocos2D-X开发,这意味着Cocos2D-X将取代Cocos2D-iPhone成为最重要的Cocos2D分支。 2012年6月,Cocos2D团队决定开放Wiki(夏威夷语wee kee wee kee,是一种多人

41、协作的写作工具),只要是Cocos2D-X.org注册用户,就可以编辑、修改除了首页概述之外的所有Wiki页,也可以 自己新建条目!按照Wikipedia(维基百科)的规则,没有人工审核,修改立刻生效,进而可以更加丰富Cocos2D-X的文档和参考资料。 2013年年中,Cocos2D-X官方网站 1正式改版,保持了在3月公布的代码仓库功能 2,代码仓库包括了很多Cocos2D-X的示例和工具,更方便开发者的查找,该页面截图如图1-13所示。除此之外, 国内著名编程技术网站CSDN也开设了Cocos2D-X的页面 3。 图1-13 Cocos2D-X代码仓库 Cocos2D-X之所以能在移动平

42、台游戏开发上有今天的地位,很大程度源于其开源性和引擎团队不断地根据市场情况对引擎进行改造。随着手机性能的提高,3D游戏将逐渐占有更主要的地 位,Cocos2D-X的3D扩展被提上日程,目前还处在“可用”但不易用的阶段,触控科技的“捕鱼达人”团队在“捕鱼达人3”的开发中也采用了这个技术,相信与Cocos2D-X和CocoStudio一样,随着具 体项目的应用,其3D功能将越来越完善,未来的Cocos2D-X可以带来更绚丽的游戏效果。 1 http:/www.cocos2d-x.org/ 2 http:/www.cocos2d-x.org/hub 3 http:/ 1.4 本章小结 本章介绍Coc

43、os2D和Cocos2D-X的由来、特征和应用,你需要了解Cocos2D的历史和它的各个分支的由来,以及Cocos2D框架和Cocos2D-X的特点及使用,为后面的章节作准备。从第2章开始,将带 领大家逐渐走入Cocos2D-X的奇妙世界。 第2章 搭建跨平台的开发环境 所谓“工欲善其事,必先利其器”。学习Cocos2D-X的开发技巧,首先从搭建跨平台开发环境开始。 目前,Cocos2D-X 3.0版本在常用的Windows和Mac系统上都可以开发,但是需要说明的是,Windows上是无法进行iOS开发的,所以如果需要生成可以在iOS上运行的程序,Mac系统是必需的,另 外Android系统的

44、开发工具是同时支持Windows和Mac系统的。一个完整的开发环境包括开发、编译、链接、运行和调试等几个部分,所以需要相应的开发环境,比如Win32环境下的VS(Visual Studio),Android的开发环境Eclipse和Android SDK等,iOS则需要Xcode环境,然后使用Cocos2D-X的模板编译出相应环境的软件包。 一般情况下,使用Cocos2D-X的开发流程是:首先在VS或者是Xcode进行开发调试,之后分别在另外两个平台的开发环境中编译生成相应的软件包,如果使用脚本开发,一般是在文本编辑器编辑代 码,然后再用VS或者是Xcode运行。2014年4月底,Cocos2

45、D-X引擎团队发布了基于Eclipse的脚本调试工具Cocos代码集成编辑环境,可以支持脚本语言的断点添加等。 本章首先介绍安装引擎需要配置的环境,然后介绍新的Cocos代码集成编辑环境,最后介绍不同平台下的编译环境以及从程序入口讲解如何适配不同屏幕大小等,下面我们就开始搭建跨平台的开发环 境。 2.1 Cocos2D-X的安装和配置 曾经在Cocos2D-X 2.0时代,就有人提出这样的问题,“如何安装Cocos2D-X”,那时来看,提出这种问题应该是还不了解Cocos2D-X是什么,Cocos2D-X是一套程序框架,本身就是代码,其实本 质上是不需要任何安装过程的,但是在3.0版本中由于C

46、ocos2D-X提供了很多方便我们操作的Python脚本,这些脚本简化了操作,但是需要配置一些东西来确保脚本的运行,所以这一节可以理解为介 绍“如何安装Cocos2D-X”。但实际上,它是帮助你进行相关工具需要的配置,本节在介绍这些工具运行的同时,也会讲解这些工具实际为你做了些什么。 2.1.1 Cocos2D-X的运行编译环境 由于Cocos2D-X是跨平台的,因此它需要的运行环境也是分跨平台介绍的。 Android 2.3版本或者以上。 iOS 5.0版本或者以上。 OS X(Mac)10.7版本或者以上。 Linux Ubuntu 12.04或以上。 Windows XP或者以上。 编译

47、环境需要Xcode 4.6及以上(iOS或Mac),GCC 4.7及以上或者是Visual Studio 2012及以上。 2.1.2 需要安装或配置的工具 首先需要下载Cocos2D-X引擎,下载地址为http:/www.Cocos2D-X.org/download,本书成书之时的最新版本为3.0。 然后是配置Python环境,需要2.7.3版本。为什么需要Python环境,这是为了让开发工具可以跨平台,很多功能都是用Python脚本开发的,比如创建跨平台项目,Windows需要到Python官网下载, 在“我的电脑/系统属性/高级/环境变量/系统变量”中配置Python环境变量。在PATH

48、的值后面追加“;c:python”(python的安装路径,和你安装时设置的路径相关,记得加上分号“;”),与前面的值 分隔开,上述环境变量设置成功之后,就可以在命令行直接使用Python命令,或执行“python*.py”运行Python脚本。此时,还是只能通过“python*.py”运行Python脚本,若希望直接运行“*.py”, 打开另一个环境变量PATHEXT,在值后面加“;.PY;.PYM”就可以了。 配置这些就可以在控制台中运行Cocos2D-X引擎目录下的“setup.py”,就可以“安装”Cocos2D-X了,运行“setup.py”时会让你输入一些工具的路径,现在先跳过这个过程,具体会在2.4节中讲 解,其实这个脚本是让你可以在控制台中直接运行“cocos new”创建项目,如图2-1所示。 图2-1 “cocos new”创建项目 命令的参数说明: -h:帮助。 -p:包名。 -l:语言,可选的是C+和Lua。 -d:工程目录。 -t:(可选的)项目模板名,不写就是默认模板。 创建好的工程目录如图2-2所示。 图2-2 Cocos2D-X工程目录 Classes:C+文件目录。 cocos2d:引擎库目录。 proj系列:不同平台下工程目录。 Resources:资源目录,图片、声音以及脚本。 2.2 Cocos2D-X代码集成调试工具Cocos Co

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料


经营许可证编号:宁ICP备18001539号-1