
0人評分過此書
本書深入系統地講解了Cocos2dx 3.10遊戲開發的理論與實踐,書中內容涵蓋了Cocos2dx 3.x各方面的知識點與示例分析。這些內容包括如何搭建Cocos2dx的開發環境(iOS和Android平臺)、Cocos2dx的工程結構、核心類和相關的API、標籤、功能表、控制項、本地化、事件處理機制、網路技術、動作、調度、繪圖API、動畫、存儲技術、Sprite3D、瓦片地圖、粒子系統、物理引擎、骨骼動畫、ObjectiveC、Swift、C++和Java交互的方式。本書的第18章提供了一個完整的案例——星空大戰,這個案例是一款完整的射擊類遊戲,類似於雷電遊戲。該遊戲使用了本書介紹的基本知識點,通過這個案例,讀者可以更進一步鞏固基本理論知識。
- 封面
- 书名页
- 版权页
- 作者简介
- 内容简介
- 前言PREFACE
- 目录
-
第1章 初识Cocos2d-x
-
1.1 跨平台的由来
-
1.2 跨平台开发模式的种类和优缺点
-
1.2.1 虚拟机与跨平台技术
-
1.2.2 Web与跨平台技术
-
1.2.3 跨平台编译技术
-
1.2.4 为每个平台定制本地应用
-
-
1.3 跨平台游戏引擎
-
1.3.1 什么是跨平台游戏引擎
-
1.3.2 有哪些游戏引擎可以跨平台
-
-
1.4 Cocos2d-x横空出世
-
1.4.1 Cocos2d-x的前世今生
-
1.4.2 Cocos2d-x的特点
-
-
1.5 小结
-
-
第2章 搭建和使用跨平台Cocos2d-x开发环境
-
2.1 使用Cocos2d-x开发游戏需要准备些什么
-
2.2 Cocos2d-x3.10开发环境的最低要求
-
2.3 让Eclipse支持C++11
-
2.4 Cocos2d-x3.10开发环境的安装、配置和使用
-
2.4.1 Cocos2d-x3.10的目录结构
-
2.4.2 使用cocos建立跨平台工程
-
2.4.3 编译和运行Cocos2d-x3.10foriOS/Mac程序
-
2.4.4 编译和运行Cocos2d-x3.10forAndroid程序
-
2.4.5 编译和运行Cocos2d-x3.10forWin32程序
-
-
2.5 Cocos2d-x3.10例子代码的使用
-
2.6 小结
-
-
第3章 Cocos2d-x默认工程模板的架构和源代码分析
-
3.1 Cocos2d-x实现跨平台的原理
-
3.2 默认场景类HelloWorldScene的实现原理分析
-
3.3 控制横竖屏切换
-
3.4 小结
-
-
第4章 Cocos2d-x中的核心类
-
4.1 导演类(Director)
-
4.1.1 Director类与初始化Cocos2d-x
-
4.1.2 结束、暂停与恢复Cocos2d-x程序
-
4.1.3 获取窗口的尺寸和位置
-
4.1.4 Director类中的其他成员方法
-
-
4.2 节点类(Node)
-
4.2.1 节点类的功能
-
4.2.2 节点类的成员方法
-
4.2.3 Cocos2d-x对象的创建、自动释放(Autorelease)与ARC
-
4.2.4 CREATE_FUNC宏与create方法
-
4.2.5 Cocos2d-x中的坐标系
-
4.2.6 节点的移动、缩放和旋转
-
-
4.3 场景类(Scene)
-
4.3.1 创建场景
-
4.3.2 运行和切换场景
-
4.3.3 场景切换的各种特效
-
-
4.4 图层类(Layer)
-
4.4.1 Layer类的基本应用
-
4.4.2 Layer的子类
-
4.4.3 颜色图层类(LayerColor)
-
4.4.4 颜色渐变图层类(LayerGradient)
-
4.4.5 多图层管理类(LayerMultiplex)
-
-
4.5 精灵类(Sprite)
-
4.5.1 Sprite类
-
4.5.2 贴图类(Texture2D)和贴图缓冲类(TextureCache)
-
4.5.3 精灵批处理类(SpriteBatchNode)
-
4.5.4 精灵框架类(SpriteFrame)
-
4.5.5 精灵框架缓冲类(SpriteFrameCache)
-
4.5.6 九宫格缩放精灵类(Scale9Sprite)
-
-
4.6 集合类(Vector和Map)
-
4.7 小结
-
-
第5章 标签、菜单与控件
-
5.1 标签类
-
5.1.1 LabelTTF标签(使用TTF字体文件)
-
5.1.2 LabelAtlas标签 (需要截取图像)
-
5.1.3 LabelBMFont标签 (使用FNT字体文件)
-
5.1.4 生成FNT字体文件
-
-
5.2 菜单(Menu)与菜单项(MenuItem)
-
5.2.1 菜单(Menu)类
-
5.2.2 标签菜单项(MenuItemLabel)
-
5.2.3 字体菜单项(MenuItemFont)
-
5.2.4 精灵菜单项(MenuItemSprite)
-
5.2.5 图像菜单项(MenuItemImage)
-
5.2.6 开关菜单项(MenuItemToggle)
-
-
5.3 控件
-
5.3.1 UI布局(Layout)
-
5.3.2 文本控件(Text、TextAtlas和TextBMFont)
-
5.3.3 按钮控件(Button)
-
5.3.4 文本输入框控件(TextField)
-
5.3.5 高级文本输入框控件(EditBox)
-
5.3.6 复选框控件(CheckBox)
-
5.3.7 (ControlSwitch)
-
5.3.8 图像框控件(ImageView)
-
5.3.9 进度条控件(LoadingBar)
-
5.3.10 滑杆控件(Slider)
-
5.3.11 高级滑杆控件(ControlSlider)
-
5.3.12 步进控件(ControlStepper)
-
5.3.13 列表控件(ListView)
-
5.3.14 表格控件(TableView)
-
5.3.15 滚动视图控件(ScrollView)
-
5.3.16 分页控件(PageView)
-
5.3.17 颜色选择控件(ControlColourPicker)
-
-
5.4 小结
-
-
第6章 本地化
-
6.1 自适应屏幕分辨率
-
6.1.1 尺寸类型及屏幕适配原理
-
6.1.2 Cocos2d-x中的各种尺寸深度详解
-
6.1.3 分辨率策略(ResolutionPolicy)
-
6.1.4 通过设计尺寸进行屏幕适配
-
6.1.5 通过内容缩放因子进行屏幕适配
-
6.1.6 为每一个Node单独调整尺寸
-
-
6.2 Cocos2d-x多语言适配
-
6.3 小结
-
-
第7章 Cocos2d-x中的事件处理机制
-
7.1 触摸事件与移动节点
-
7.2 多点触摸
-
7.3 键盘响应事件
-
7.4 鼠标响应事件
-
7.5 加速度传感器事件
-
7.6 自定义事件
-
7.7 小结
-
-
第8章 网络技术
-
8.1 HttpClient类
-
8.1.1 发送HttpGet请求
-
8.1.2 发送HttpPost请求
-
-
8.2 WebSocket类
-
8.3 SocketIO类
-
8.4 小结
-
-
第9章 Cocos2d-x中的动作类
-
9.1 所有动作的基类(Action)
-
9.2 位置(Position)动作
-
9.2.1 沿直线匀速移动动作(MoveBy/MoveTo)
-
9.2.2 跳跃动作(JumpBy/JumpTo)
-
9.2.3 贝塞尔曲线动作(BezierBy/BezierTo)
-
9.2.4 固定张力的样条曲线动作(CatmullRomBy/CatmullRomTo)
-
9.2.5 可变张力的样条曲线动作(CardinalSplineBy/CardinalSp(-?)lineTo)
-
-
9.3 旋转与缩放动作
-
9.3.1 旋转动作(RotateBy/RotateTo)
-
9.3.2 缩放动作(ScaleBy/ScaleTo)
-
-
9.4 执行规则动作
-
9.4.1 顺序执行动作(Sequence)
-
9.4.2 并行动作(Spawn)
-
9.4.3 重复执行动作(Repeat)
-
9.4.4 无限循环动作(RepeatForever)
-
9.4.5 反序动作(ResverseTime)
-
-
9.5 控制节点显示和隐藏的动作
-
9.5.1 闪烁动作(Blink)
-
9.5.2 淡入淡出动作(FadeIn/FadeOut)
-
9.5.3 透明度渐变动作(FadeTo)
-
9.5.4 颜色渐变动作(TintBy/TintTo)
-
-
9.6 可立即执行的动作
-
9.7 回调函数动作(CallFunc/CallFuncN)
-
9.8 变速动作(EaseAction)
-
9.8.1 幂加速动作(EaseIn)
-
9.8.2 幂减速动作(EaseOut)
-
9.8.3 幂加速减速动作(EaseInOut)
-
9.8.4 指数加速动作(EaseExponentialIn)
-
9.8.5 指数减速动作(EaseExponentialOut)
-
9.8.6 指数加速减速动作(EaseExponentialInOut)
-
9.8.7 正弦加速动作(EaseSineIn)
-
9.8.8 正弦减速动作(EaseSineOut)
-
9.8.9 正弦加速减速动作(EaseSineInOut)
-
9.8.10 弹性加速动作(EaseElasticIn)
-
9.8.11 弹性减速动作(EaseElasticOut)
-
9.8.12 弹性加速减速动作(EaseElasticInOut)
-
9.8.13 弹跳加速动作(EaseBounceIn)
-
9.8.14 弹跳减速动作(EaseBounceOut)
-
9.8.15 弹跳加速减速动作(EaseBounceInOut)
-
9.8.16 回退加速动作(EaseBackIn)
-
9.8.17 回退减速动作(EaseBackOut)
-
9.8.18 回退加速减速动作(EaseBackInOut)
-
-
9.9 网格动作(GridAction)
-
9.9.1 实现测试网格动作的基类
-
9.9.2 2D波浪动作(Waves)
-
9.9.3 3D波浪动作(Waves3D)
-
9.9.4 水平3D翻转动作(FlipX3D)
-
9.9.5 垂直3D翻转动作(FlipY3D)
-
9.9.6 3D震动动作(Shake3D)
-
9.9.7 3D透镜动作(Lens3D)
-
9.9.8 3D波纹动作(Ripple3D)
-
9.9.9 流体动作(Liquid)
-
9.9.10 旋转变形动作(Twirl)
-
9.9.11 3D瓦片震动动作(ShakyTiles3D)
-
9.9.12 3D瓦片破碎动作(ShatteredTiles3D)
-
9.9.13 3D瓦片洗牌动作(ShuffleTiles)
-
9.9.14 瓦片从左下角到右上角淡出动作(FadeOutTRTiles)
-
9.9.15 瓦片从右上角到左下角淡出动作(FadeOutBLTiles)
-
9.9.16 瓦片向上淡出动作(FadeOutUpTiles)
-
9.9.17 瓦片向下淡出动作(FadeOutDownTiles)
-
9.9.18 关闭瓦片动作(TurnOffTiles)
-
9.9.19 3D波浪瓦片动作(WavesTiles3D)
-
9.9.20 3D跳跃瓦片动作(JumpTiles3D)
-
9.9.21 拆分行动作(SplitRows)
-
9.9.22 拆分列动作(SplitCols)
-
9.9.23 3D翻页动作(PageTurn3D)
-
-
9.10 其他动作
-
9.10.1 绑定节点和动作(TargetedAction)
-
9.10.2 扭曲动作(SkewBy和SkewTo)
-
9.10.3 轨道照相机动作(OrbitCamera)
-
9.10.4 延迟运行动作(DelayTime)
-
-
9.11 小结
-
-
第10章 调度器、绘图API与动画
-
10.1 调度器(Scheduler)
-
10.1.1 update定时器调度
-
10.1.2 设置update定时器的优先级
-
10.1.3 自定义调度器
-
10.1.4 停止调度器
-
-
10.2 绘图API
-
10.3 动画
-
10.3.1 基于绘图API与调度器的动画
-
10.3.2 帧(Frame)动画
-
-
10.4 小结
-
-
第11章 数据存储技术
-
11.1 使用UserDefault读写Key-Value类型的数据
-
11.2 读写流文件
-
11.3 操作XML文件
-
11.3.1 使用tinyxml2生成XML文件
-
11.3.2 使用tinyxml2以DOM方式读取XML文件
-
11.3.3 使用SAXParser以SAX方式读取XML文件
-
-
11.4 使用rapidjson读写JSON文件
-
11.5 使用SQLite数据库
-
11.6 小结
-
-
第12章 Sprite3D技术
-
12.1 什么是Sprite3D
-
12.2 Cocos2d-x支持哪些3D模型格式
-
12.3 装载obj格式的3D模型文件
-
12.4 装载和使用c3t和c3b格式的3D模型文件
-
12.4.1 使用fbx-conv将fbx转换为c3t和c3b格式
-
12.4.2 旋转的3D怪物
-
12.4.3 游泳的海龟
-
-
12.5 小结
-
-
第13章 Cocos2d-x中的瓦片和地图
-
13.1 瓦片和地图编辑器
-
13.1.1 瓦片地图的种类和用途
-
13.1.2 瓦片地图编辑器(TiledMapEditor)
-
13.1.3 用Tiled编辑地图
-
-
13.2 在Cocos2d-x中使用地图
-
13.2.1 在程序中显示地图
-
13.2.2 隐藏和显示图层
-
13.2.3 编辑图块
-
13.2.4 获取图块的属性值
-
13.2.5 在地图中添加精灵
-
13.2.6 让精灵只在道路上移动
-
13.2.7 改变遮挡关系(zOrder和PositionZ)
-
13.2.8 拖动地图
-
13.2.9 在45度角地图上种树
-
13.2.10 使用对象层
-
-
13.3 小结
-
-
第14章 粒子系统
-
14.1 Cocos2d-x内置的标准粒子特效
-
14.1.1 群星闪烁
-
14.1.2 幽灵鬼火
-
14.1.3 群星爆炸
-
-
14.2 粒子特效属性详解
-
14.3 自定义粒子特效
-
14.3.1 五彩旋转戒指
-
14.3.2 放大版的群星闪烁
-
-
14.4 可视化粒子特效设计器
-
14.4.1 ParticleDesigner (仅适用于OSX)
-
14.4.2 ParticleEditor (只适用于Windows系统)
-
-
14.5 通过plist文件实现粒子特效
-
14.5.1 彗星特效
-
14.5.2 用plist文件实现放大版的群星闪烁
-
-
14.6 燃烧的圣火
-
14.7 小结
-
-
第15章 物理引擎
-
15.1 物理引擎概述
-
15.1.1 什么是物理引擎
-
15.1.2 物理引擎在游戏中的地位
-
15.1.3 Box2D和Chipmunk的对比
-
-
15.2 Cocos2d-x3.x中抽象封装的物理引擎
-
15.2.1 抽象物理引擎概述
-
15.2.2 使用抽象物理引擎创建Body (刚体)
-
-
15.3 Android平台如何使用物理引擎
-
15.4 改变Android和iOS平台默认的物理引擎
-
15.5 碰撞检测
-
15.6 只撞击一侧边缘的碰撞检测
-
15.7 足球撞击特效
-
15.8 骷髅堆中的足球
-
15.9 用重力感应控制的足球
-
15.10 小结
-
-
第16章 骨骼动画
-
16.1 骨骼动画概述
-
16.2 骨骼动画的优势
-
16.3 Spine骨骼动画
-
16.3.1 Spine骨骼动画简介
-
16.3.2 在Cocos2d-x中使用Spine骨骼动画
-
16.3.3 Spine简介
-
16.3.4 用Spine导入骨骼动画图像资源
-
16.3.5 完成图像的摆放
-
16.3.6 绑定骨骼
-
16.3.7 在骨骼上旋转图像
-
16.3.8 设计骨骼动画
-
-
16.4 Armature骨骼动画
-
16.4.1 安装和运行CocosStudio
-
16.4.2 将图像导入工程
-
16.4.3 使用图像资源
-
16.4.4 创建骨骼
-
16.4.5 绑定骨骼和图像
-
16.4.6 设计骨骼动画
-
16.4.7 导出骨骼动画
-
16.4.8 在Cocos2d-x中使用骨骼动画
-
-
16.5 小结
-
-
第17章 Objective-C、Swift、C++和Java交互
-
17.1 C++与Objective-C的交互
-
17.1.1 C++调用Objective-CAPI
-
17.1.2 通过Objective-C获取Web数据
-
17.1.3 Objective-C调用C++API
-
17.1.4 .mm文件到底起什么作用
-
-
17.2 C++调用SwiftAPI
-
17.2.1 创建Swift文件
-
17.2.2 编写Swift类
-
17.2.3 自动生成的头文件的位置和命名规则
-
17.2.4 自动生成的头文件的内容
-
17.2.5 自动生成头文件非得用@objc吗
-
17.2.6 用Objective-C调用SwiftAPI
-
17.2.7 C++调用SwiftAPI
-
-
17.3 Swift调用Objective-CAPI
-
17.3.1 在桥接头文件中引用Objective-C的头文件
-
17.3.2 在Swift源代码文件中调用ObjectiveAPI
-
17.3.3 Objective-C调用SwiftAPI
-
17.3.4 声明和实现C++风格的方法
-
17.3.5 C++调用SwiftAPI
-
-
17.4 Android平台多语言交互
-
17.4.1 C++调用Java类的无参数静态方法
-
17.4.2 C++调用有参数的静态Java方法
-
17.4.3 C++调用Java类的非静态方法
-
17.4.4 C++调用JavaAPI向SQLite数据库中插入信息 (获取Context对象)
-
17.4.5 C++调用JavaAPI查询SQLite数据库中的记录
-
17.4.6 Java调用C++API
-
-
17.5 小结
-
-
第18章 项目实战:星空大战
-
18.1 游戏概述
-
18.2 滚动背景
-
18.2.1 滚动游戏背景
-
18.2.2 让云彩在背景上移动
-
-
18.3 创建战机
-
18.3.1 创建战机类
-
18.3.2 创建战机图层
-
18.3.3 让战机移动
-
18.3.4 为战机添加光子鱼雷武器
-
18.3.5 为战机添加激光束武器
-
18.3.6 为战机添加带有自动跟踪功能的导弹
-
18.3.7 让战机发射武器
-
-
18.4 创建敌机
-
18.4.1 创建小敌机
-
18.4.2 创建大敌机
-
18.4.3 敌机发送炮弹
-
-
18.5 小结
-
- 出版地 : 中國大陸
- 語言 : 簡體中文
評分與評論
請登入後再留言與評分