温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
Cocos2d-x
3.X手游开发实例详解
Cocos2d
开发
实例
详解
Cocos2d-x 3.X手游开发实例详解 于浩洋 著 北京BEIJINGPublishing House of Electronics Industry 内 容 简 介 本书以 Cocos2d-x V3.0 系列版本为框架,通过实例讲解手机游戏的开发知识和方法,着重通过实例提高读者的开发动手能力。涉及的内容包括:环境搭建、交叉编译以及打包部署;Cocos2d-x数据类型和基本概念的使用,如场景、导演、精灵等;使用 Cocos2d-x 创建用户界面,如文本、菜单、滚动框等基本控件,以及一些扩展控件的使用;使用 Cocos2d-x 创建动作,比如让精灵移动、跳跃、旋转,以及如何创建按顺序或同时进行的动作;使用 Cocos2d-x 播放、停止、暂停、继续播放背景音乐和音效;Cocos2d-x 使用的触摸事件机制;在游戏中存储数据的几种方式;使用 HTTP、Sockets、WebSockets 进行网络编程;在游戏中使用物理引擎 Box2D、使用瓷砖地图、使用CocosBuilder 制作游戏界面等;Cocos2d-x 中的纹理和动画。最后通过两个完整的游戏开发实例讲解使用 Cocos2d-x 开发游戏的全过程。本书实例丰富,代码完备,知识点清晰简洁。本书所有实例均提供完整代码下载,书后附有代码清单概要,非常方便读者查找使用。此外作者还将 Cocos2d-x 3.X 各版本间的区别用实例做了详细说明,且将在博客不断更新。本书适合对 Cocos2d-x 感兴趣及有志于学习和从事移动平台游戏开发的读者阅读参考。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 Cocos2d-x 3.X 手游开发实例详解于浩洋著.北京:电子工业出版社,2014.9 ISBN 978-7-121-23998-4 .C .于 .移动电话机游戏程序程序设计 便携式计算机游戏程序程序设计 .TN929.53 TP368.32 中国版本图书馆 CIP 数据核字(2014)第 179534 号 责任编辑:董 英 印 刷:北京中新伟业印刷有限公司 装 订:河北省三河市路通装订厂 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:787980 1/16 印张:22.25 字数:410 千字 版 次:2014 年 9 月第 1 版 印 次:2014 年 9 月第 1 次印刷 印 次:3000 册 定价:59.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。服务热线:(010)88258888。前 言 记得第一次接触移动互联网是在 2008 年左右,当时互联网应用相当普及,市场竞争进入红海,绝大多数人认为移动互联将成为下一个增长点,是很大的蓝海,社会将进入 3G 时代。大到三大运营商和一线互联网公司,小到小公司和个人开发者都想进入移动互联,从 3G 大蛋糕中分到一块利益。转眼几年过去,正如当时预料的那样,移动互联已经深入人们的生活当中,4G 也悄悄来临。在移动互联的发展过程中,苹果公司起到了不可磨灭的作用,因为它发布了能承载移动互联功能的新概念智能手机 iPhone。于是乎,诞生了一大批移动应用和移动游戏的开发商和个人开发者。其中以疯狂的小鸟为代表的第一批手机游戏进入人们的视线并大获成功,之后手机游戏以比雨后春笋还疯狂很多倍的速度成长起来。各种类型的游戏出现在市场中,例如我叫 MT 大掌门 找你妹及腾讯的天天游戏系列。在手机游戏快速成长的过程中,手机游戏开发框架也跟着发展起来,其中最著名的就是 Cocos2d 家族,Cocos2d-iphone、Cocos2d-js、Cocos2d-java 等,其中Cocos2d-iphone 使用数最多。但是 Cocos2d-iphone 是用 Objective-C 开发的,只能用于开发 iPhone 平台的游戏,如果想发布到 Android 平台,就要使用另外一种语言,几乎重写所有代码。于是,中国有位叫王哲的“大神”,使用 C+重新实现了一遍Cocos2d-iphone 的 API,使用 C+开发的游戏不仅效率高,也能发布到 iOS、Android、in、Linux 等多个平台,真正实现了编写一次、多平台运行的目的。Cocos2d-x 3.0 系列统一修改了类和接口(比如把类前面的 CC 去掉),使代码更规范、更美观。3.0 系列重写了纹理渲染方式,不再会产生成倍消耗内存的情况,使游戏运行效率更高、更稳定。本书以 Cocos2d-x 3.0 版本为基础,记录整理了笔者在学习和使用 Cocos2d-x 中遇到的问题和常用功能,以实践为主,着重提高读者的动手开发能力,让读者从入门手游的菜鸟成为游戏开发界的大神。Cocos2d-x 3.X 手游开发实例详解?IV?本书的主要内容如下。第 1 章介绍 Cocos2d-x 的优缺点和目录结构,本书案例需要的环境搭建、交叉编译以及打包部署。第 2 章讲解了 Cocos2d-x 中常用的数据类型和方法及一些宏定义。第 3 章讲解了 Cocos2d-x 的基本概念,即基础节点 Node、相机、导演、场景、布景、精灵。接着由浅入深,第 4 章讲解了如何使用 Cocos2d-x 创建用户界面,如文本、菜单、滚动框等基本控件,以及一些扩展控件,如取色器、计步器、复选框等。之后笔者用很多篇幅在第 5 章讲解了使用 Cocos2d-x 创建动作的方式,因为动作在游戏中是必不可少的重中之重,内容包括移动、跳跃、旋转等简单动作,以及按顺序执行或同时执行的复杂动作。音乐在游戏中也不可或缺,好的音效给人耳目一新的感觉,本书第 6 章讲解了使用 Cocos2d-x 播放、停止、暂停、继续播放背景音乐和音效。第 7 章介绍了瓷砖地图相关的内容,包括瓷砖地图的概念、如何制作瓷砖地图,如何在游戏中使用、操作瓷砖地图等。第 8 章讲解了 Cocos2d-x 中的事件机制,包括触摸事件、鼠标事件、键盘事件,以触摸事件为主要内容。智能手机大多数都是触摸屏,要监听用户的触摸行为,然后调用相应的行为动作,Cocos2d-x 提供了一套触摸事件机制,并且 3.0 系统重写了该机制,使监听用户触摸行为更加方便快捷,同时 Cocos2d-x 还支持多点触摸机制,增加玩家与手机的交互乐趣。除此之外,进行游戏时还产生很多数据,这些数据有时需要保存下来以便下次使用,所以第 9 章介绍了多种保存数据的方式,比如 UsderDefault、Plist、本地数据库 SQLite 等。当开发网络游戏时,客户端要不断地跟服务端进行数据交换,第 10 章讲解了如何使用 HTTP、Sockets、WebSockets 进行网络编程。第 11 章介绍了物理引擎,它可以使游戏更加接近现实世界,给玩家更真实的体验。前言?V?第 12 章讲解了纹理和动画,介绍了纹理的渲染方式并提供了几个提高渲染效率的方法。动画部分讲解了如何在游戏中播放帧动画、plist 动画和骨骼动画。书中还穿插介绍了一些工具的使用方法,比如使用 bitmap font generator 制作自定义字体,使用 Tiled Map Editor 制作编辑瓷砖地图,使用 SQLiteStudio 管理 SQLite 数据库,使用 CocoStudio 制作编辑 UI、动画、场景等。第 13 章讲解了休闲游戏 2048 的完整开发过程,核心内容包括使用 CocoStudio制作 UI 界面,UI 界面与逻辑代码的交互,使用 UserDefault 存取游戏数据,数字方块移动、合并的逻辑等。第 14 章讲解了水浒卡牌游戏的完整开发过程,挑选了其中几个典型的功能进行了详细讲解,包括登录界面、公共菜单、游戏首页、英雄列表、地图、推图和战斗界面等。本章内容对于游戏开发人员具有很高的参考价值。本书所有实例代码在附录 A 中有详细说明,读者可到博文视点网站下载,地址: B 详细介绍了 Cocos2d-x 3.X 主要版本间的区别,用实例详细说明各个功能点的使用方法。最后衷心感谢读者的支持,如果有问题或想法可以到博客上留言交流,我的博客是 http:/。于浩洋 目 录 第 1 章 准备.1 1.1 Cocos2d-x 简介.1 1.2 Cocos2d-x 架构和目录结构.6 1.3 环境搭建.7 1.3.1 Windows 开发环境搭建.7 1.3.2 Mac 开发环境搭建.11 1.3.3 创建新项目.12 1.3.4 在 Android 上调试项目.14 1.3.5 打包 APK 文件.22 第 2 章 Cocos2d-x 常用数据和方法.23 2.1 C+数据类型.23 2.2 Cocos2d-x 封装的数据类型.24 2.2.1 布尔型 Bool 的使用.24 2.2.2 整型 Integer 的使用.25 2.2.3 浮点型 Double、Float 的使用.25 2.2.4 字符串 String 的使用.25 2.2.5 数组 Array 的使用.26 2.2.6 点 Point 的使用.27 2.2.7 尺寸 Size 的使用.28 2.2.8 矩形 Rect 的使用.29 2.2.9 字典 Dictionary 的使用.31 2.3 常用宏定义.32 目录?VII?2.3.1 数学相关宏的使用.32 2.3.2 断言宏 CCAsset 的使用.33 2.3.3 数组遍历宏 CCARRAY_FOREACH 和 CCARRAY_FOREACH_REVER SE 的使用.33 2.3.4 字典遍历宏 CCDICT_FOREACH 的使用.35 2.3.5 对象创建方法宏 CREATE_FUNC 的使用.36 2.3.6 属性定义宏 CC_PROPERTY 的使用.37 2.3.7 命名空间宏.39 2.4 Cocos2d-x 中的坐标和坐标系.39 2.4.1 OpenGL 坐标系和屏幕坐标系.39 2.4.2 锚点和位置的使用.40 2.4.3 节点坐标系和世界坐标系的相互转换.42 第 3 章 Cocos2d-x 核心概念.45 3.1 基础节点.46 3.1.1 Node 简介.46 3.1.2 Node 应用举例之移除节点.47 3.2 相机.47 3.2.1 相机简介.47 3.2.2 使用 CCCamera 循环缩放点.48 3.3 导演.49 3.3.1 导演 Director 简介.49 3.3.2 Director 常用功能举例.50 3.4 场景.51 3.4.1 场景定义.51 3.4.2 创建显示战斗场景.52 3.4.3 动态切换多个场景.53 3.5 布景.56 3.5.1 布景定义.56 3.5.2 使用 Layer 模拟 Windows Phone 主界面.57 3.6 精灵.59 Cocos2d-x 3.X 手游开发实例详解?VIII?第 4 章 Cocos2d-x 用户界面.61 4.1 文本渲染.61 4.1.1 制作 fnt 格式字体.62 4.1.2 使用 LabelBMFont 显示文本.66 4.1.3 使用 LabelTTF 显示文本.67 4.1.4 使用 LabelAtlas 显示文本.70 4.2 菜单.71 4.2.1 菜单和菜单项的简单使用.72 4.2.2 使用菜单制作游戏菜单功能.74 4.3 滚动框.80 4.3.1 使用 ScrollView 显示多页内容.80 4.3.2 监听 ScrollView 的滚动和缩放事件.82 4.3.3 使用 TableView 展示多页内容.83 4.3.4 触摸 TableView 里的菜单来滚动 TableView.86 4.4 扩展控件.87 4.4.1 滑动条控件 ControlSlider.87 4.4.2 开关控件 ControlSwitch.9