实例妙解Cocos2D-X游戏开发.html.pdf
《实例妙解Cocos2D-X游戏开发.html.pdf》由会员分享,可在线阅读,更多相关《实例妙解Cocos2D-X游戏开发.html.pdf(151页珍藏版)》请在三一文库上搜索。
1、前言 为什么要写这本书 “想要我的财宝吗?想要的话可以给你!去找吧,我把所有的财宝都放在那里了。”每次看到罗杰的这段话,我总是觉得海贼王说的就是移动互联网的故事。世界被移动设备充斥,就像海贼王中无处 不在的大海,乔布斯的死开启了大航海时代。 说到移动开发,我最早接触是在刚上大学时,那时跟着老师做一个跨平台程序移植项目,将开源程序从Linux平台移植到maemo平台,现在回头看是很简单的。我们从ubuntu开始学习,到最后将程序 运行到一块板子上,中间经历和学到了许多的东西。 完成这个项目后,刚好赶上Android的出现。当时Android的资料只有官方文档,我就抱着学学看的态度去研究,却发现并
2、没有想象的那么困难。“为之则难者亦易已,不为则易者亦难已”,这就是我 最大的感触。后来我参加了Google举办的大学生编程大赛,代表学校取得了些不值一提的名次。 在这段时期,我意识到了文档的重要性,就开始在CSDN上写博客。我想得简单,自己费尽心血已经解决的问题,就不要让别人受同样的折磨。没想到博客越写越多,如今已经成了CSDN的博客专家 ( 后来发现移动游戏的开发不仅限于Android平台,iOS平台也非常的重要,就学习了Objective-C编程。但同一款游戏,写两套代码维护起来很麻烦。最后接触到了Cocos2D-X,它最大的优势就是 Android平台和iOS平台共用一套C+代码,可以根
3、据不同的目标平台编译成对应的应用,这确实极大地方便了开发者。另一方面,Cocos2D-X是开源引擎。当我们遇到问题时,可以跟踪代码来了解问题 产生的原因。同时,研究引擎本身也是积累编程经验的好方法。 由于博客中都是一些零散的知识,我试图将Cocos2D-X的技巧串起来,写出更系统的文章。正巧机械工业出版社华章公司的杨福川老师找到我,一拍即合,就有了这本书。 读者对象 Cocos2D-X的初级及中级开发者。 没使用过Cocos2D-X,但有iOS或Android开发经验的开发者。 没有手游开发经验,但之前有C/C+或Java等语言开发经验的开发者。 游戏开发爱好者。 开设相关课程的大专院校师生。
4、 如何阅读本书 本书的内容分为三个部分。 第一部分:快速上手(第13章)。主要介绍Cocos2D-X 3.x中开发的基本方法,以及一些新加入的特性。通过阅读,能够学会安装配置Cocos2D-X开发环境,并能将开发出的程序运行到手机上。同 时掌握简单的游戏开发流程,能够开发一款简单的钢琴游戏。 第二部分:开发实战(第48章)。通过手把手的方式,由浅入深地讲解手机游戏的开发。首先通过飞机空战游戏,重点讲解了帧动画、事件分发机制、Schedule的使用以及对话框的制作。接着通过 打砖块游戏,详细介绍了物理引擎Physicls的使用。最后通过塔防游戏,介绍了瓦片地图以及CocoStudio整合场景的使
5、用方法。在讲解代码的同时,渗透了C+11的使用,带领读者熟悉新的编码风格。 第三部分:拓展知识(第912章)。这部分包括对Cocos2D-X 3.x中常见知识的总结,以及常见的业务型需求与Cocos2D-X游戏开发的结合,例如,Android平台SDK的接入、App Store支付、社交 分享的接入等。 前两部分建议按顺序阅读,当然如果你是一名经验丰富的资深用户,能够理解Cocos2D-X的相关基础知识和使用技巧,也可以跳过一些熟悉的章节。第三部分较前两部分相对独立,涉及了Android、 iOS开发的相关知识。如果有特殊的需求,可以直接阅读相关章节。 勘误和支持 由于作者的水平有限,加之编写
6、时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为了方便大家交流,我专门创建了QQ群(305889963)。大家有问题可以在群里探讨, 我也会尽量为大家解答。书中的全部源文件可以在随书光盘中找到,书中的代码会在Github上(https:/ (),我会将相应的功能更新及时发布出来。如果你有更多宝贵意见,也欢迎发送邮件至,期待能够得到你们的真挚反馈。 致谢 首先要感谢Cocos2D-X的开发团队,感谢他们为游戏开发者带来如此优秀的引擎。 感谢我的老东家联众互动网络股份有限公司。感谢公司对我的锻炼和培养,使我在很短的时间内从初出校门的学生,成长为独当一面的能手。 感谢我的母校哈
7、尔滨理工大学。它为我提供了一个自由充实的学习环境,各个校区的图书馆中有看不完的书籍和杂志。 感谢CSDN网站上每一位阅读我文章的网友,他们的支持,是我写下去的动力。 感谢胡争辉老师。在构思本书的过程中,他为我提供了大量的建议。他无私地分享了之前的成功经验,并以此作为指导,一起完成了本书章节的编排。 感谢李添甜(新浪微博LTTSweetness:http:/ 这本书的编写。 感谢机械工业出版社华章公司的杨福川老师和姜影老师,在这一年左右的时间中始终支持我的写作,鼓励和引导我顺利完成全部书稿。 最后感谢我的爸爸、妈妈、爷爷、奶奶,感谢他们将我培养成人,并教会我做人的道理。 谨以此书献给我最亲爱的家
8、人,以及众多热爱Cocos2D-X的朋友们! 樊松阳 于北京 第一部分 快速上手 第1章 搭建Cocos2D-X开发环境 第2章 钢琴师(上) 第3章 钢琴师(下) 第1章 搭建Cocos2D-X开发环境 劲松是程序员,万千平凡程序员中的一个。因为名字中有一个松字,做事又很给力,大家就送了他这个北京地铁站的名字。 “劲松,今天有一个学校开学生作品展,我看见一个美女老师,真心漂亮!”文彪刚刚从外面进屋,就兴冲冲地说。 劲松放下鼠标,扭过头来调侃道:“就这烟雾蒙蒙的天气,你确定你看清了?” “我跟你可不一样,策划都拥有一个发现美的眼睛,不像程序员,发现的都是Bug。”文彪一本正经地说。 SK从旁边
9、屋里走出来问“Dota么?”。SK也是一名程序员,因为Dota打得好,名字的拼音缩写又是SK,刚好和Dota中沙王的缩写吻合,就得到了这个称号。 “去去,说正经事呢。劲松,你相信缘分吗?”。 “算信吧,不过得连到开发环境调试一下才知道”。 “帮我个忙,你最近不是正研究着什么cos之类的手机开发吗?”。 “cos?还正弦呢。Cocos2D-X”。 “呀,反正就是它啦,帮我做个什么放手机上吧,现在手机上这些乱七八糟的应用,追妹子完全不给力啊,望大神给我做个神装。” “Dota么?”SK看着文彪撇撇嘴。 “Dota啦,劲松,这事就这么说定啦。都赶紧启动,最后进去的开局买鸡。”说着文彪拍了劲松一下,就
10、跳开了。 “我相信缘分么?”看着加载中的Dota,劲松心想。也许试试就知道了。 “单子接了,等我重新搭个环境就上手做。”劲松在Dota的盟友聊天中输入道。 “Ok我包鸡包眼” 1.1 引擎简介 Cocos2D-X是一个开源的2D移动游戏框架,它的原型是Cocos2D。此框架的目的是简化游戏开发的流程,让开发者能够专注于开发游戏本身。它是基于MIT许可证发布的,这也就意味着我们可以免费 使用它来开发商业产品。 1.1.1 选择Cocos2D-X的理由 Cocos2d-X的核心点是围绕Cocos2D跨平台。使用Cocos2D-X创建的项目可以很容易地运行在iOS、Android、Windows P
11、hone等移动设备上。Cocos2D-X还支持Windows、Mac和Linux等桌面操 作系统,因此,我们编写的源代码可以很容易在桌面操作系统中编辑和调试。 在使用Cocos2D-X开发手机游戏时,可以采用的语言有C+、Lua、JavaScript三种。多种语言的支持为游戏框架设计提供了极大的灵活性,方便开发者针对不同的游戏制定不同的方案。 Cocos2D-X用户不仅包括个人开发者和游戏开发爱好者,还包括许多知名大公司如Zynga、Wooga、Gamevil、Glu、GREE、Konami、TinyCo、HandyGames、IGG及Disney Mobile等。截止2013 年9月,全球基
12、于Cocos2D-X引擎的游戏下载量逾15亿,其中许多位于苹果应用商店(AppStore)和谷歌应用商店(Google Play)排行榜前列。同时许多公司如触控、谷歌、微软、ARM、英特尔及黑莓 等,它们的工程师在Cocos2D-X领域也非常活跃。 1.1.2 Cocos2D-X 3.x版本与先前版本的不同 2014年6月Cocos2D-X推出了最新的版本Cocos2D-X 3.0。在Cocos2D-X 3.0以及后续版本中做了很多基础的改进,比如性能、兼容性(尤其是Android手机的兼容性)、CPU和内存消耗等。在性 能方面优化了很多自动技术,例如当一个游戏场景大出手机屏幕时,引擎会把屏幕
13、之外的东西给剔除掉,使大场景游戏的流畅度有很大的提升。 从开发的角度来说,Cocos2D-X 3.0更改了大量的接口,使得整体代码风格更一致。虽然这会使先前Cocos2D-X 2.x的代码不兼容,但从长远的角度来说,将代码转移到Cocos2D-X 3.x版本上是值得 的。Cocos2D-X 3.0引入了大量的C+11特性,使开发过程变得更轻松。 1.2 搭建开发环境 在了解了关于Cocos2D-X最基本的信息后,我们来动手搭建Cocos2D-X开发环境。 1.2.1 安装开发环境 1)安装VS 2012(Visual Studio 2012)。在微软官方网站下载安装包后直接安装即可。 2)找到
14、官网的DownLoad页面(http:/www.cocos2d-x.org/download)下载最新的Cocos2D-X并进行解压。本书使用的是Cocos2D-X 3.0版本。 3)解压后进入“build”文件夹,运行VS 2012的项目:cocos2d-win32.vc2012.sln。这样会启动VS 2012。 4)在左侧的解决方案管理器中,找到“TestCpp”项目,右击,在弹出菜单中选择“设为启动项目”,如图1-1所示。 图1-1 设置启动项目 5)按“F5”启动调试。运行调试刚刚设置的启动项目,VS 2012在编译工程文件的同时,会编译需要的依赖库文件。待编译完成后,如果出现如图1
15、-2所示的程序运行界面,说明Cocos2D-X已经配置 成功。 图1-2 运行TestCpp的效果 1.2.2 安装CocoStudio 开发一个游戏怎么可能没有图形化的编辑工具呢?Cocos2D-X提供了官方团队维护的CocoStudio作为默认的编辑工具。 CocoStudio包括动画编辑器、UI编辑器、场景编辑器、数据编辑器四部分。我们可以在官网(http:/www.cocos2d-x.org/download)下载CocoStudio的最新版本。 下载后直接运行即可安装。 注意 CocoStudio需要.NET Framework的支持。因为VS 2012中已经集成了.NET,所以不需
16、要担心。如果未安装.NET Framework,会在安装CocoStudio的过程中提示安装。 一路点击下一步,安装成功后运行CocoStudio,显示如图1-3所示,说明安装成功。 图1-3 CocoStudio运行画面 1.3 创建项目 配置好了开发环境,接下来我们创建一个新项目。 1.3.1 安装Python 为什么要安装Python?因为从Cocos2D-X 3.0开始,创建项目要以Python脚本的形式进行。安装Python要简单很多:对于使用Mac开发的用户,因为Mac本身集成了Python,所以不必再安装;对于 使用Windows进行开发的用户,要去官网http:/www.pyt
17、hon.org/下载安装包。在这里笔者用的是Python 2.7。 安装Python的过程比较简单,一路点击“下一步”即可。安装完成后运行“命令与提示符”,在其中输入:python,出现如图1-4所示的画面,则表示安装成功。 图1-4 Python安装成功 1.3.2 创建新项目 在安装好Python后,我们就可以创建新项目了。在创建项目之前,我们要配置环境变量。在“命令与提示符”中,进入到Cocos2D-X根目录下。执行setup.py,效果如代码清单1-1所示。 代码清单1-1 注册命令路径 C:OutFilecocos2d-x-3.2setup.py Setting up cocos2d
18、-xhttp:/ - Adding COCOS2D_CONSOLE_ROOT environment variablehttp:/ OK - Added: COCOS_CONSOLE_ROOT = C:OutFilecocos2d-x-3.2tools/cocos2d-conso le/bin - Looking for NDK_ROOT envrironment variablehttp:/ NOT FOUND Please enter its path (or press Enter to skip): - Looking for ANDROID_SDK_ROOT envrironment
19、 variablehttp:/ NOT FOUND Please enter its path (or press Enter to skip): - Looking for ANT_ROOT envrironment variablehttp:/ NOT FOUND Please enter its path (or press Enter to skip): Set up successfull: COCOS_CONSOLE_ROOT was added into registry Please restart the terminal or restart computer to mak
20、e added system variables take effect 在执行过程中,脚本程序会停下来询问我们路径的配置,按回车跳过即可。因为这些路径配置都是生成Android程序需要用到的,在第2章中我们会详细介绍。 执行完成后,我们来验证一下安装是否成功。重新启动“命令与提示符”,输入cocos命令,显示代码清单1-2所示的代码,则说明环境配置正确。 代码清单1-2 验证安装 C:UsersFansycocos C:UsersFansypython C:OutFilecocos2d-x-3.2toolscocos2d-consolebin/coc os.py C:OutFilecocos
21、2d-x-3.2toolscocos2d-consolebin/cocos.py 0.1 - cocos cons ole: A command line tool for cocos2d Available commands: compile Compiles the current project to binary new Creates a new project run Compiles 提示 创建这个Sprite的图片资源保存在程序根目录的Resources目录下,这个目录是Cocos2D-X读取文件的默认目录。项目中使用到的资源都应该放置在这个目录中。 上面的代码创建了一个精灵,
22、它显示的图片是“HelloWorld.png”。auto是自动类型推导,可以根据需要将变量声明为对应类型。它是C+11的新特性,具体可以参考第9章的介绍。另外,我们来看 一下Sprite的类定义,它有很多的构造函数,如代码清单2-1所示。 代码清单2-1 Sprite的构造函数 static Sprite* create(); static Sprite* create(const std:string static Sprite* create(const std:string static Sprite* createWithTexture(Texture2D *texture); sta
23、tic Sprite* createWithTexture(Texture2D *texture, const Rect static Sprite* createWithSpriteFrame(SpriteFrame *spriteFrame); static Sprite* createWithSpriteFrameName(const std:string 我们可以根据实际的需求进行选择。 (2)文字 此处的文字包含数字和文本两部分。它也是常用的元素,可以实现标记状态、显示完成度、记录结果等功能。同图片元素一样,它也有很多种创建方式。在这个例子中使用的是下面这个创建函数: auto la
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实例 Cocos2D 游戏 开发 html
链接地址:https://www.31doc.com/p-5518244.html