Cocos2d-x 3.x游戏开发详解
  • 推荐0
  • 收藏0
  • 浏览473

Cocos2d-x 3.x游戏开发详解

郭宏志 (作者) 

  • 书  号:978-7-121-24553-4
  • 出版日期:2014-11-19
  • 页  数:336
  • 开  本:16(185*260)
  • 出版状态:上市销售
  • 维护人:张月萍
Cocos2d-x 是一个跨平台的游戏开发引擎,可以运行在多个平台下,Android、iOS、Windows、Mac OS、Linux 等等。本书是基于全新的Cocos2d-x 3.x API 来编写的游戏引擎开发书籍,从最基本的环境搭建到最后的项目实战,内容全面并配有大量案例,无论是游戏初学者还是多年的游戏开发高手,都能从中受益。全书最后以《疯狂地鼠》案例,全面系统地梳理Cocos2d-x 游戏开发的完整过程,Cocos2d-x 的大部分内容进行综合应用。


商业级手机游戏案例分享,基于Cocos2d-x 3.0这一2014年春季推出的最新版本。
前言

移动互联网
移动互联网,就是将移动通信和互联网二者结合起来,成为一体。在我国的互联网发展过程中,PC互联网已日趋饱和,移动互联网却呈现井喷式发展。数据显示,截止2013年底,中国手机网民超过5亿,占比达81%。随着移动终端价格的下降以及WiFi的广泛铺设,移动网民呈现爆发式趋势。
在如此规模的商业价值里面,每个人都想分一杯羹,下面一起来看看留给个人开发者的机会有多少。移动互联网,可以分为三大模块:互联网、移动运营商和终端设备。从这三方面来看,互联网经过多年发展格局基本成型,移动运营商虽然是一块大肥肉,但是其特殊的地位根本不可撼动,剩下的就是终端设备了。终端设备又可以分为:硬件厂商、软件操作系统和App软件。对于个人开发者来讲,硬件厂商的机会很小,厂商中有大牌的苹果、三星、LG等,个人根本无法与其抗衡。目前,操作系统的局面呈现三足鼎立之势,Google的Android、苹果的iOS和微软的Windows Phone,个人开发者要想做一个操作系统出来几乎不太可能,那剩下的就是App软件了。的确,随着移动互联网的兴起,软件的个人英雄主义又回归了,个人开发者可以在数周或一周内开发出一款App,并一举成名,这样的案例比比皆是。
App大潮
据了解,截止到2014年3月,App Store的下载次数已经突破 650 亿次,达到了又一个里程碑。苹果同时还宣布,目前 App Store 已经在 155 个国家和地区上线,其应用总数超过100万个,其中超过 50 万个专门为 iPad 打造。
Google Play的下载量也逐渐增加,2014年第二季度,Google Play下载量超出了App Store 60%。
通过这些数字可以看出,软件商店平台大大降低了开发者发布软件的成本,各路App开发者蜂拥而上,其中一些App的收益也是相当的可观,免费版《愤怒的小鸟》月广告收入100万美元,《捕鱼达人2》日收入100万美元。个人开发者开发的《找你妹》,其App Store 月收入500万美元,这还不包括Android的收入。
手游
在众多的App中,收益最多的还是游戏,在成百上千的App中,我们真正经常使用的应用App不超过10款,微信、QQ、手机淘宝等。而游戏会层出不穷,你的手机里可能有十几款甚至几十款好玩的游戏,而且这些游戏会不停地更换。
游戏经历了桌面游戏、网络游戏、网页游戏和手游,可以说手游开发时期是离开发者赚钱最近的一个时期,只要把握住这个时机,成功就只有一步之遥。
资本的过度介入,导致2013年的手游市场呈现跳跃式增长。在资本的助推下,手游产品属性日益金融化。相应的,追求短、平、快的投机心理开始盛行,“山寨”成了“一夜暴富”的捷径。
一旦某款手游产品反响火爆,立即就会引来争相效仿者,这直接催生了手游的版权乱象。由于在法律界定上的不完善、手游产品存活率低导致不少维权找不到被诉人等现状,手游行业的版权保护异常蹒跚。
Cocos2d-x
谈到Cocos2d-x,我们就不得不谈一下它的前身Cocos2d-iPhone和Cocos2d的Python版本。Cocos2d是由一个阿根廷的开发者Ricardo于2008年2月发布的,后来随着iPhone游戏的流行,2008年6月宣布与iPhone平台进行接轨,并在当月就公布了用Objective-C编写的Cocos2D for iPhone 0.1版,它与Python版的Cocos2D拥有相同的设计思路。
Cocos2d-x,为什么是“x”。“x”,标志着该项目是由C++编写的;“x”,也意味着交叉。这个开源项目的目标是让用户创建跨平台的代码。Cocos2d-x是跨平台的,具体各个平台的支持如下:iOS、Android、BlackBerry、HTML 5和Window Phone等。
Cocos2d-x的主要功能如下。
流程控制(Flow Control):非常容易地管理不同场景(Scenes)之间的流程控制。
精灵(Sprites):快速而方便的精灵。
动作(Actions):告诉精灵们该做什么。可组合动作如移动(Move)、旋转(Rotate)和缩放(Scale)等。
特效(Effects):特效包括波浪(Waves)、旋转(Twirl)和透镜(Lens)等。
平面地图(Tiled Maps):支持包括矩形和六边形平面地图。
转换(Transitions):从一个场景移动到另外一个不同风格的场景。
菜单(Menus):创建内部菜单。
文本渲染(Text Rendering):支持标签和HTML标签动作。
基于OpenGL:支持硬件加速。
脚本语言:支持Lua、JavaScript语言。
本书内容


本书是基于全新的Cocos2d-x 3.x API来编写的游戏引擎开发书籍,从最基本的环境搭建到最后的项目实战,内容全面并配有大量案例,无论是游戏开发初学者,还是多年的游戏开发高手,都能从中受益。
本书分为20个章节,详细内容如下。
第1章 开发环境搭建。讲述的内容有如何下载Cocos2d-x,如何安装Python、Ant和JDK,如何下载安装Android开发环境ADT和NDK,如何使用命令cocos new来创建新项目,如何在Windows下面使用Visual Studio和Eclipse来开发Cocos2d-x项目,如何在Mac OS平台下使用Eclipse和Xcode来开发Cocos2d-x项目。
第2章 编程起步。详细讲述了Cocos2d-x的第一个项目Hello World的项目架构,以及核心类Director、Node、Scene、Layer、Sprite等常用API,还有坐标系统的讲述,相对坐标、绝对坐标及其转换,位置和锚点的设置,以及代码的风格。由于Cocos2d-x是由Cocos2d-iphone移植而来,因此带有很多Objective-C的编程风格。另外,本章的一个难点就是内存管理的讲解。
第3章 雷电项目。本章将通过这个项目来对Cocos2d-x开发的全貌做一个整体讲述,内容包含项目的概述、游戏启动画面的设计、构建玩家精灵、创建HUD图层、创建游戏主界面、玩家发射子弹、敌机自动移动、碰撞检测和Game Over等。
第4章 标签。本章采用最新的Cocos2d-x 3.x的API,讲述了字体标签、位图标签和字符图集标签的用法。
第5章 菜单。本章对菜单类Menu和菜单项MenuItemLabel、MenuItemSprite、MenuItemImage及MenuItemToggle等都做了详尽的讲述。
第6章 精灵及其相关类。本章首先对精灵类Sprite的用法做了讲述,然后讲述了和精灵相关的一些类,精灵帧SpriteFrame和精灵帧缓存SpriteFrameCache、精灵批量节点类SpriteBatchNode和精灵动画类Animation、动画缓存类AnimaltionCache。
第7章 事件处理。Cocos2d-x 3.x采用全新的事件处理方式,基于监听器Listener的事件处理方式,本章讲述的事件处理有单点触屏事件、多点触屏事件、鼠标事件、键盘事件和重力加速度事件。
第8章 动作。本章首先讲述了动作和基本父类Action和FiniteTimeAction的API,然后讲述了动作的工作原理,后面的具体动作包括:瞬时动作、持续性动作、复合动作和变速动作。
第9章 调度器。首先讲述了调度器的工作原理及其API,然后讲述了调度器的三种调用方法。
第10章 图形用户界面。讲述的视图组件有:文本Text、按钮Button、复选框CheckBox、滑块Slider、加载条LoadingBar、布局Layout、滚动视图ScrollView、列表视图ListView、表格视图TableView和编辑框EditText。
第11章 数据结构和常用类。在游戏开发中,经常会使用一些集合数据结构来管理游戏对象,本章就详细讲述了这些数据结构的用法,内容包括:基本类型封装类Bool、Float、Double、Integer、字符串类String、数组Array、Set集合、字典Dictionary、基本类型封装类cocos2d::Value、向量类Vector和映射类Map。
第12章 屏幕适配。移动设备种类繁多,各种设备屏幕大小不一,因此屏幕适配就变得极为关键和重要。本章将详细讲述FileUtils工具类、屏幕适配的相关接口和屏幕适配解决方案。
第13章 声音效果。一款好的游戏怎能缺少优美的音效,本章将讲述音效的用法,首先是音效引擎简介,然后是音效引擎API,最后通过实例讲述音效的用法。
第14章 网络编程。随着游戏的社交化的演变,几乎所有的游戏都要和服务器打交道,这就需要了解网络编程的相关知识。本章内容包括:JSON数据解析、XML数据解析、curl、HttpClient和WebSocket。
第15章 数据存储。游戏的本地数据存储也很普遍,例如,游戏级别、配置、玩家积分都需要保存。本章讲述两种数据存储方法:UserDefault和SQLite数据库。
第16章 Tiled Map(瓦片地图)。瓦片地图在游戏开发中使用非常广泛,它可以极大地提高游戏场景中图片的加载效率,本章内容包括:Tiled Map 简介、Tiled Map Editor编辑器、Tiled Map API和Tiled Map 实例。
第17章 粒子系统。子游戏中使用粒子系统可以做出非常炫酷的游戏特性,但是,由于粒子系统的属性繁多且不易掌握,而且通过编程的方式实现非常麻烦,为此我们专门讲述了粒子系统的属性和粒子编辑器的用法。
第18章 物理引擎。使用物理引擎可以模拟现实生活中的物理特性,使游戏更能接近真实场景。本章讲述了流行的物理引擎Box2D的用法和Cocos2d-x中的集成用法。
第19章 常用工具和编辑器。在游戏开发中经常会使用到各种工具,例如,字体编辑工具、纹理打包工具、粒子编辑器工具、UI工具、动画工具等,本章将对这些常见工具一一讲述。
第20章 项目实战——疯狂地鼠。本章将通过一个项目来对前面所学的知识做一个总结,该项目是一个疯狂地鼠项目,首先在界面上布局4行6列24个地鼠,地鼠会随机地冒出,玩家需要在一定时间内消灭掉地鼠,如果玩家没有及时消灭掉地鼠,那么当屏幕上的胡萝卜被地鼠吃光后,游戏就会结束。通过本游戏我们可以对Cocos2d-x的大部分内容进行综合应用,包括核心类导演、场景、图层、精灵,以及计时器、动作、动画、自定义组件等。

目录

目录 阅读
第1章 开发环境搭建
第2章 编程起步
第3章 雷电项目
第4章 标签
第5章 菜单
第6章 精灵及其相关类
第7章 事件处理
第8章 动作
第9章 调度器
第10章 图形用户界面
第11章 数据结构和常用类
第12章 屏幕适配
第13章 声音效果
第14章 网络编程
第15章 数据存储
第16章 TILED MAP(瓦片地图)
第17章 粒子系统
第18章 物理引擎
第19章 常用工具和编辑器
第20章 项目实战——疯狂地鼠

读者评论

下载资源

电子书版本

  • PDF

相关图书

Unity VR 虚拟现实完全自学教程

邵伟 (作者)

本书是 VR 自学爱好者的一本入门书,全书共 16 章,全面讲述了在制作 VR 应用程序的过程中所必备的软/硬件知识。硬件层面以 HTC VIVE 为主要硬件平...

¥99.00

游戏架构实战:核心技术与面试精粹

樊松阳 (作者)

本书从架构与封装、艺术资源、底层核心、自定义扩展和独立游戏五个方向组织内容,每一方向均围绕一个问题展开论述,重点讲解了Unity 3D 开发的高级技巧。这种问答...

¥45.00

Unity 3D实战核心技术详解

姜雪伟 (作者)

《Unity 3D 实战核心技术详解》详细介绍了实际游戏开发中使用的核心技术,每一章都结合了游戏开发的实战案例。首先,介绍了3D 数学在Unity 中的运用,3...

¥49.00

Unity 5.x 完全自学手册

商宇浩 李一帆 张吉祥 (作者)

《Unity 5.x 完全自学手册》是初学者快速自学Unity 5.0软件及以上版本的实用全面教程。全书共分21章,从Unity 5.x 软件的安装和使用方法开...

¥69.00

Unity 3D脚本编程——使用C#语言开发跨平台游戏

陈嘉栋 (作者)

本书以Unity 3D的跨平台基础Mono以及其游戏脚本语言C#为基础进行讲解。全面系统地剖析了Unity 3D的跨平台原理以及游戏脚本开发的特点。第1章主要介...

¥59.00

Cocos2d-JS开发之旅——从HTML 5到原生手机游戏

郑高强 (作者)

本书主要内容分为基础篇、功能篇、进阶篇和实战篇。基础篇主要讲解Cocos2d-JS的基本框架内容。功能篇讲解一些复杂功能的实现,并以一个实际小游戏,让读者体验完...

¥79.00