作品简介

《Cocos2d-x 3.x游戏开发实战》是一本介绍Cocos2d-x游戏引擎的实用图书,全面介绍了最新的Cocos2d-x 3.2游戏引擎各方面的知识。

《Cocos2d-x 3.x游戏开发实战》从内容层次上可分为四个部分。第一部分介绍了游戏开发的基础知识、游戏引擎概念、Cocos2d-x的下载与安装,以及跨平台开发环境的搭建。第二部分介绍了Cocos2d-x中的核心类、动作、动画、3D特效、文字、字体、菜单、事件处理、UI控件、声音和数据存储等知识。第三部分介绍了Cocos2d-x的粒子系统、Tile地图、最新的物理引擎、内存管理机制。最后一部分详细介绍了Cocos2d-x官方提供的游戏开发工具Cocos Studio。

《Cocos2d-x 3.x游戏开发实战》针对每一个知识点都通过相应的程序给出了示范,并结合Cocos2d-x自带的cpp-tests实例进行讲解,在总结一些知识点之后还开发了一些小游戏,目的是让读者全面掌握Cocos2d-x的基础理论和基本使用。

作者:肖文吉

作品目录

  • 前言
  • 本书特点
  • 本书适合的读者
  • 光盘说明
  • 1.光盘内容
  • 2.运行环境
  • 衷心感谢
  • 第1章 Cocos2d-x游戏引擎介绍
  • 1.1 什么是游戏引擎
  • 1.2 Cocos2d游戏引擎
  • 1.2.1 Cocos2d的发展
  • 1.2.2 Cocos2d的特点
  • 1.2.3 Cocos2d的现在和未来
  • 1.3 Cocos2d-x游戏引擎
  • 1.3.1 选择Cocos2d-x的理由
  • 1.3.2 Cocos2d-x的主要功能
  • 1.3.3 Cocos2d-x 3.0版本的各语言优化
  • 1.C++基础底层优化:新渲染器、新API、性能飞跃
  • 2.增强Lua语言体验:开发快,测试快,上线快
  • 3.新产品线Cocos2d-JS:HTML5+JSB高效整合
  • 4.新增开发工具Cocos Studio和Cocos Code IDE,打造完整工具链
  • 1.3.4 Cocos2d-x 3.0的新特性
  • 1.使用C++(C++11)的特性取代了Objective-C的特性
  • 2.新的渲染器
  • 3.优化了Labels
  • 4.新的事件分发机制
  • 5.物理引擎集成
  • 1.3.5 使用了Cocos2d-x的游戏
  • 1.4 本章小结
  • 第2章 跨平台开发环境的搭建
  • 2.1 搭建iOS下的开发环境
  • 2.1.1 Cocos2d-x的安装与配置
  • 2.1.2 Cocos2d-x项目结构和代码分析
  • 1.项目结构
  • 2.代码分析
  • 2.2 搭建Windows下的开发环境
  • 2.2.1 Cocos2d-x的安装与配置
  • 2.2.2 Cocos2d-x工程目录和代码分析
  • 2.3 搭建Android下的开发环境
  • 2.3.1 软件的安装与环境变量配置
  • 2.3.2 构建Cocos2d-x工程
  • 2.3.3 在Eclipse下运行程序
  • 2.4 本章小结
  • 第3章 Cocos2d-x的核心类
  • 3.1 节点类(Node)
  • 3.1.1 Node类的成员变量
  • 3.1.2 Node类的函数
  • 1.处理子节点的函数
  • 2.执行动作的函数
  • 3.定时器事件的函数
  • 4.其他函数
  • 3.1.3 坐标系
  • 1.UI坐标系
  • 2.OpenGL坐标系
  • 3.世界坐标系
  • 4.节点坐标系
  • 5.Vec2和Point
  • 6.锚点
  • 示例:测试锚点——AnchorPointTest
  • 示例:测试Node类的常用函数——NodeTest
  • 3.2 场景类(Scene)
  • 3.2.1 TransitionScene场景切换
  • 3.2.2 Cocos2d-x支持的场景过渡效果
  • 3.3 层类(Layer)
  • 3.3.1 Layer类的常用成员变量
  • 3.3.2 Layer类的常用函数
  • 3.4 导演类(Director)
  • 3.4.1 Director导演类常用的成员变量
  • 3.4.2 Director导演类常用的函数
  • 3.4.3 Director导演类在游戏初始化时的使用分析
  • 3.5 精灵类(Sprite)
  • 3.5.1 纹理的相关概念
  • 1.纹理(Texture)
  • 2.纹理图集(TextureAtlas)
  • 3.纹理相关的类
  • 3.5.2 Sprite精灵类的常用成员变量
  • 3.5.3 Sprite精灵类的常用函数
  • 示例:测试Sprite类的常用函数——SpriteTest
  • 3.5.4 SpriteFrame精灵帧类
  • 3.5.5 SpriteFrameCache精灵帧缓存类
  • 3.5.6 SpriteBatchNode精灵表单类
  • 示例:测试SpriteFrameCacheTest精灵帧缓存类——SpriteFrameCacheTest
  • 3.5.7 制作精灵表单
  • 1.安装Zwoptex工具
  • 2.制作精灵表单
  • 示例:测试自己制作的精灵表单——SpriteSheetTest
  • 3.6 Cocos2d-x 3.0新的数据结构
  • 3.6.1 cocos2d::Vector<T>
  • 示例:测试cocos2d::Vector<T>类的常用函数——VectorTest
  • 3.6.2 cocos2d::Map<K,V>
  • 示例:测试cocos2d::Map<K,V>类的常用函数——MapTest
  • 3.6.3 cocos2d::Value
  • 示例:测试cocos2d::Value类的常用函数——ValueTest
  • 3.7 本章小结
  • 第4章 Cocos2d-x的动作和动画
  • 4.1 动作基类Action
  • 4.1.1 Action类的常用成员变量
  • 4.1.2 Action类的常用函数
  • 4.1.3 Action类的子类
  • 1.瞬时动作(ActionInstant)
  • 2.延时动作(ActionInterval)
  • 4.2 示例:测试基本动作——ActionBasicTest
  • 4.2.1 显示、隐藏、闪烁动作
  • 4.2.2 淡入淡出动作
  • 4.2.3 色彩值渐变动作
  • 4.2.4 移动动作
  • 4.2.5 跳跃动作
  • 4.2.6 缩放动作
  • 4.2.7 旋转动作
  • 4.3 示例:测试组合动作——ActionCombinationTest
  • 4.4 示例:测试可变速度动作——ActionEaseTest
  • 4.4.1 EaseIn、EaseOut和EaseInOut
  • 4.4.2 EaseSineIn、EaseSineOut和EaseSineInOut
  • 4.4.3 EaseExponentialIn、EaseExponentialOut和EaseExponentialInOut
  • 4.4.4 EaseBounceIn、EaseBounceOut和EaseBounceInOut
  • 4.4.5 EaseElasticIn、EaseElasticOut和EaseElasticInOut
  • 4.5 示例:测试速度动作——ActionSpeedTest
  • 4.6 示例:测试跟随动作——ActionFollowTest
  • 4.7 示例:测试延迟动作——ActionDelayTest
  • 4.8 示例:测试函数回调动作——ActionCallFuncTest
  • 4.9 Cocos2d-x中与动画相关的类
  • 4.10 示例:英雄舞剑动画
  • 4.11 示例:僵尸走路动画
  • 4.12 示例:使用动画帧缓冲实现动画
  • 4.13 示例:制作精灵表单实现动画
  • 4.14 Cocos2d-x新增的3D特性
  • fbv-conv的用法
  • 4.15 示例:Sprite3D创建3D精灵
  • 4.16 示例:Animation3D创建3D动画
  • 4.17 本章小结
  • 第5章 Cocos2d-x的文本渲染系统和菜单
  • 5.1 文本渲染相关的类
  • 5.2 TTF类型标签LabelTTF
  • 示例:测试LabelTTF类——LabelTTFTest
  • 5.3 BMFont标签类LabelBMFont
  • 1.下载Hiero工具
  • 2.创建字体图集
  • 示例:测试LabelBMFont类——LabelBMFontTest
  • 5.4 Atlas标签类LabelAtlas
  • 示例:测试LabelAtlas类——LabelAtlasTest
  • 5.5 Cocos2d-x新增的标签类Label
  • 示例:测试Label类——LabelTest
  • 5.6 菜单类Menu
  • 5.7 菜单项MenuItem和常用子类
  • 5.7.1 标签菜单项(MenuItemLabel)
  • 5.7.2 自定义字体菜单项(MenuItemAtlasFont)
  • 5.7.3 字体菜单项(MenuItemFont)
  • 5.7.4 精灵菜单项(MenuItemSprite)
  • 5.7.5 图片菜单项(MenuItemImage)
  • 5.7.6 触发器菜单项(MenuItemToggle)
  • 示例:测试菜单——MenuTest
  • 5.8 本章小结
  • 第6章 Cocos2d-x的事件处理机制
  • 6.1 事件处理机制
  • 6.1.1 接收数据(Touch)
  • 6.1.2 分发事件(EventDispatcher)
  • 6.1.3 处理响应(EventListener)
  • 6.2 触摸事件
  • 6.2.1 单点触摸事件(EventListenerTouchOneByOne)
  • 示例:场景优先事件监听——TouchOneByOneTest
  • 示例:滑动屏幕选择菜单——TouchOneByOneTest
  • 示例:固定值优先事件监听——TouchPriorityTest
  • 6.2.2 多点触摸事件(EventListenerTouchAllAtOnce)
  • 示例:多点触摸(缩放功能的实现)——TouchAllAtOnceTest
  • 6.3 加速度计事件(EventListenerAcceleration)
  • 示例:滚动的小球——AccelerometerTest
  • 6.4 按键事件(EventListenerKeyboard)
  • 6.5 鼠标事件(EventListenerMouse)
  • 6.6 自定义事件(EventListenerCustom)
  • 示例:自定义事件处理——CustomTest
  • 6.7 本章小结
  • 第7章 Cocos2d-x的常用控件
  • 7.1 Cocos2d-x的控件
  • 7.1.1 按钮类ControlButton
  • 示例:测试按钮——ControlButtonTest
  • 7.1.2 拖动滑块类ControlSlider
  • 示例:测试拖动滑块——ControlSliderTest
  • 7.1.3 开关按钮类ControlSwitch
  • 示例:测试开关按钮——ControlSwitchTest
  • 7.2 Cocos Studio中的UI控件
  • 7.2.1 Widget(所有UI控件的父类)
  • 7.2.2 Button(按钮)
  • 示例:测试UI控件——UITest
  • 7.2.3 Text(文本)
  • 7.2.4 TextField(文本框)
  • 7.2.5 CheckBox(复选框)
  • 7.2.6 ImageView(图片)
  • 7.2.7 LoadingBar(进度条)
  • 7.2.8 Slider(滑动条)
  • 7.2.9 Layout(布局容器)
  • 7.2.10 ScrollView(滚动层容器)
  • 7.2.11 ListView(列表层容器)
  • 7.2.12 PageView(分页层容器)
  • 7.3 本章小结
  • 第8章 Cocos2d-x的声音系统和数据存储
  • 8.1 声音系统
  • 8.1.1 背景音乐和声音特效
  • 8.1.2 CocosDenshion库
  • 8.1.3 SimpleAudioEngine类
  • 示例:背景音乐和音效控制——SimpleAudioEngineTest
  • 8.2 数据存储
  • 8.2.1 UserDefault类
  • 示例:用户数据存储测试——UserDefaultTest
  • 8.3 本章小结
  • 第9章 射击类游戏:疯狂打飞机
  • 9.1 游戏简介
  • 9.2 添加游戏菜单
  • 9.3 预加载游戏资源
  • 9.4 玩家飞机飞行效果
  • 9.5 玩家飞机Touch实现
  • 9.6 背景滚动效果
  • 9.7 添加敌机
  • 9.8 玩家飞机发射子弹
  • 9.9 背景音乐和积分统计
  • 9.10 游戏大Boss
  • 9.11 本章小结
  • 第10章 粒子系统
  • 10.1 粒子系统相关的类
  • 10.1.1 ParticleSystem类
  • 1.ParticleSystem类的常用属性
  • 2.ParticleSystem类的常用函数
  • 10.1.2 ParticleSystemQuad类
  • 10.1.3 ParticleBatchNode类
  • 10.2 粒子系统的使用
  • 示例:使用内置的粒子系统——ParticleEffectTest
  • 示例:自己定制粒子系统——MyParticleTest
  • 10.3 使用Particle Designer工具制作粒子
  • 示例:使用plist文件创建粒子系统——ParticleDesignerTest
  • 示例:休闲类游戏——疯狂打地鼠
  • 1.游戏简介
  • 2.游戏适用多分辨率
  • 3.放置地鼠
  • 4.地鼠钻出
  • 5.敲打地鼠
  • 6.分数统计
  • 7.增加计时器
  • 8.设计关卡
  • 10.4 本章小结
  • 第11章 瓦片地图
  • 11.1 下载和安装Tiled地图编辑器
  • 11.2 使用Tiled绘制地图
  • 11.3 Tiled地图相关的类
  • 11.3.1 TMXTiledMap类
  • 11.3.2 TMXLayer类
  • 11.3.3 TMXObjectGroup类
  • 示例:使用Tiled地图——TileMapTest
  • 11.4 本章小结
  • 第12章 真实手游:萌仙
  • 12.1 设计地图场景
  • 12.2 载入地图
  • 12.3 地图的移动
  • 12.4 遮挡效果和设置障碍物
  • 12.5 寻路算法
  • 12.6 随机出现怪物
  • 12.7 玩家和怪物进行战斗
  • 12.8 本章小结
  • 第13章 Cocos2d-x的物理引擎
  • 13.1 物理引擎概述
  • 13.2 Box2D的核心概念
  • 13.3 Box2D中常用的属性和函数
  • 1.b2World(世界)
  • 2.b2Body(刚体,又称为物体)
  • 3.b2BodyDef(物体定义)
  • 4.b2Shape(形状)
  • 5.b2FixtureDef(夹具定义)
  • 13.4 Box2D示例项目分析
  • 13.5 Cocos2d-x和Box2D的整合开发
  • 1.坐标轴的映射
  • 2.坐标单位的映射
  • 13.6 Box2D开发步骤
  • 13.7 Cocos2d-x 3.0中的物理引擎
  • 13.7.1 PhysicsWorld类
  • 13.7.2 PhysicsBody类
  • 13.7.3 PhysicsShape类
  • 13.8 使用3.0的物理引擎开发项目
  • 示例:测试3.0新增的物理引擎——PhysicsTest
  • 13.9 益智类游戏:愤怒的小鸟
  • 13.9.1 开始前的准备工作
  • 13.9.2 进度条制作
  • 13.9.3 游戏中的粒子效果
  • 13.9.4 游戏选关操作
  • 13.9.5 设计关卡数据
  • 13.9.6 设计精灵类
  • 13.9.7 游戏主界面
  • 13.9.8 弹弓发射小鸟
  • 13.9.9 物理引擎
  • 13.9.10 物理碰撞
  • 13.9.11 游戏过关设计
  • 13.10 本章小结
  • 第14章 Cocos2d-x的内存管理
  • 14.1 内存管理概述
  • 1.内存溢出
  • 2.内存泄露
  • 14.2 手动内存管理
  • 14.2.1 对象的引用计数
  • 14.2.2 对象所属权
  • 14.2.3 函数中的保留和释放
  • 14.2.4 使用自动释放池
  • 14.2.5 手动内存管理总结
  • 14.3 自动释放池
  • 14.3.1 Ref的引用计数
  • 14.3.2 AutoreleasePool自动释放池
  • 14.3.3 PoolManager自动释放池管理器
  • 14.3.4 create函数
  • 14.4 本章小结
  • 第15章 塔防类游戏:保卫公主
  • 15.1 设计关卡地图场景
  • 15.2 游戏菜单
  • 15.3 选择关卡
  • 1.data文件中保存的是第1关的具体数据信息。
  • 2.data和3.data与1.data文件类似,此处不再赘述。
  • 15.4 加载关卡数据
  • 15.5 准备进入游戏
  • 15.6 随机出现怪物
  • 15.7 建造炮塔
  • 15.8 旋转炮塔
  • 15.9 检测碰撞
  • 15.10 游戏结束
  • 15.11 本章小结
  • 第16章 Cocos Studio
  • 16.1 Cocos Studio概述
  • 16.2 Cocos Studio安装
  • 16.3 Cocos Studio特性
  • 16.4 Cocos Studio界面
  • 16.4.1 界面布局
  • 16.4.2 起始页面
  • 16.4.3 渲染面板
  • 16.4.4 动画帧面板
  • 16.4.5 属性面板
  • 16.4.6 资源面板
  • 16.4.7 控件面板
  • 16.4.8 快捷工具面板
  • 16.5 UI编辑器的使用
  • 示例:测试UI编辑器——CocosStudioTest
  • 16.5.1 按钮和文本框控件
  • 16.5.2 进度条控件
  • 16.5.3 滑动条控件
  • 16.5.4 层容器控件
  • 16.5.5 滚动层容器控件
  • 16.5.6 分页层容器控件
  • 16.5.7 UI动画制作
  • 16.6 本章小结
  • 附录 Cocos2d-x中常用的宏
  • 1.与节点创建相关的宏
  • 2.与平台相关的宏
  • 3.与命名空间相关的宏
  • 4.与节点属性相关的宏
  • 5.与内存管理相关的宏
  • 6.与日志相关的宏
  • 7.与调试相关的宏
  • 8.与转换相关的宏
展开全部