《Cocos2d-x游戏开发》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:刘克男编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2019
  • ISBN:9787302536703
  • 页数:289 页
图书介绍:

第1章 Cocos2d-Lua 1

1.1 Cocos2d简介 1

1.1.1 Cocos2d的起源 1

1.1.2 Cocos2d-x的诞生 1

1.1.3 Cocos2d-Lua的发展 3

1.2版本简介 3

1.2.1 Cocos2d-x版本简介(C++) 3

1.2.2 Cocos2d-Lua版本简介 4

第2章 Lua编程 5

2.1 Lua在Windows下的运行环境搭建 5

2.1.1安装 5

2.1.2运行 5

2.2 Lua基础 7

2.2.1 Lua简介 7

2.2.2 Lua语法 8

2.3 Lua面向对象 18

2.3.1 metatable(元表) 18

2.3.2重要元方法简介 20

2.3.3封装 21

2.3.4继承 22

2.3.5多态 22

第3章 Cocos-Lua基础 23

3.1 Cocos2d-Lua开发环境配置 23

3.1.1安装Cocos2 d-Lua 23

3.1.2安装VS Code与QuickXDev 24

3.1.3测试开发环境 26

3.2引擎架构与目录结构 28

3.2.1引擎架构 28

3.2.2引擎文件结构 29

3.2.3项目文件结构 31

3.3 MVC框架 32

3.3.1什么是MVC 32

3.3.2 Cocos2d-Lua中的类实现 33

3.3.3 Cocos2d-Lua中的MVC实现 37

3.4基础概念 38

3.4.1导演 38

3.4.2节点 40

3.4.3场景 41

3.4.4层 41

3.4.5精灵 42

3.5坐标系 43

3.5.1笛卡儿坐标系 43

3.5.2屏幕坐标系和Cocos2d-Lua坐标系 43

3.5.3世界坐标系和本地坐标系 44

3.5.4锚点 44

3.5.5忽略锚点 47

3.5.6 ZOrder与渲染顺序 47

3.6文本标签 48

3.6.1 TTF文本标签 48

3.6.2 BMFont文本标签 51

3.6.3图集文本标签 53

3.6.4 Mac下使用Glyph Designer制作字体 54

3.6.5 Windows下使用BMFont制作字体 54

3.7按钮 57

3.7.1 ccui.Button 57

3.7.2 ccui.CheckBox 59

3.8场景转换 60

3.8.1概念 60

3.8.2带转场的场景 60

3.8.3场景转换示例 62

3.9动作 63

3.9.1瞬时动作 63

3.9.2有限时间动作 64

3.9.3复合动作 66

3.9.4变速动作 68

3.9.5节点与动作相关的接口 70

3.10序列帧动画 70

3.10.1精灵表单 71

3.10.2播放序列帧动画 72

3.10.3动画缓存 73

3.11调度器 75

3.11.1全局调度器 75

3.11.2节点调度器 76

3.12事件分发机制 77

3.12.1节点事件 77

3.12.2帧事件 79

3.12.3键盘事件 80

3.12.4加速计事件 80

3.12.5触摸事件 81

3.13多分辨率适配 83

3.13.1 Cocos2d-x多分辨率适配 84

3.13.2 Cocos2d-Lua中的多分辨率适配 89

第4章 消除游戏实战(1) 92

4.1 Fruit Fest(1):主场景 92

4.1.1游戏玩法 92

4.1.2美术设计 92

4.1.3分辨率适配策略 93

4.1.4主场景 94

4.2 Fruit Fest(2):创建PlayScene 95

4.2.1准备BMFont 95

4.2.2创建PlayScene 96

4.2.3添加转场代码 96

4.2.4添加UI 96

4.3 Fruit Fest(3):初始化水果矩阵 97

4.3.1水果类 97

4.3.2矩阵算法 100

4.3.3掉落算法 101

4.3.4矩阵初始化的代码实现 101

4.4 Fruit Fest(4):选中水果 103

4.4.1绑定触摸事件 104

4.4.2清除已高亮区域 104

4.4.3高亮算法 105

4.4.4分数算法 106

4.5 Fruit Fest(5):消除与掉落 107

4.5.1消除高亮水果 107

4.5.2掉落与补全 108

第5章 Cocos2d-Lua进阶 111

5.1 UI控件 111

5.1.1输入控件 111

5.1.2图片控件 114

5.1.3进度条控件 114

5.1.4滑动条控件 116

5.1.5富文本控件 117

5.1.6面板容器 119

5.1.7滚动容器 120

5.1.8列表容器 123

5.1.9分页视图控件 125

5.1.10视频播放控件 127

5.1.11网页视图控件 128

5.2 Cocos Studio编辑器 130

5.2.1 UI编辑基础 130

5.2.2分辨率适配 134

5.2.3加载csb文件 136

5.3瓦片地图 138

5.3.1用Tiled制作瓦片地图 138

5.3.2地图视角 141

5.3.3在Cocos2d-Lua中使用TMX 141

5.4精灵批处理 142

5.4.1手动批处理 143

5.4.2自动批处理 143

5.5碰撞检测 145

5.5.1点与点的碰撞 145

5.5.2点与矩形的碰撞 146

5.5.3圆与圆之间的碰撞 146

5.5.4轴对齐矩形之间的碰撞 147

5.5.5非轴对齐矩形之间的碰撞 147

5.6内存管理 147

5.6.1 Lua内存管理 148

5.6.2 Cocos2d-Lua内存管理 149

5.6.3纹理缓存 151

5.6.4精灵帧缓存 153

5.7数据与存储 155

5.7.1 JSON数据 155

5.7.2 crypto数据编码 156

5.7.3 UserDefault数据存储 157

5.7.4 FileUtils文件读写 159

5.7.5 Lua文件读写 159

5.8背景音乐与音效 161

5.9粒子系统 163

5.9.1什么是粒子系统 163

5.9.2 Cocos2d-Lua中的粒子系统 163

5.9.3粒子系统批处理节点 165

5.9.4粒子属性 165

5.9.5粒子编辑器 167

5.9.6使用粒子系统 170

5.10骨骼动画 172

5.10.1 Spine 173

5.10.2 DragonBones 177

5.11裁剪节点 180

5.12渲染纹理 182

第6章 消除游戏实战(2) 184

6.1 Fruit Fest(6):过关与信息存储 184

6.1.1添加进度条 184

6.1.2过关与数据持久化 185

6.2 Fruit Fest(7):爆炸特效与声音 187

6.2.1爆炸特效 187

6.2.2游戏音乐 188

6.2.3后记 189

第7章 Cocos2d-Lua高级 190

7.1网络通信 190

7.1.1 network 190

7.1.2 SimpleTCP 193

7.1.3 WebSocket 196

7.2物理引擎 198

7.2.1创建带物理世界的场景 199

7.2.2创建物理边界 199

7.2.3创建受重力作用的精灵 200

7.2.4碰撞检测 200

7.2.5完整示例 202

7.3摄像机 204

7.3.1 OpenGL视口 205

7.3.2 cc.Camera 205

7.3.3场景的默认摄像机 208

7.3.4自定义摄像机 208

7.4自定义事件 210

7.4.1 CustomEvent 210

7.4.2 PushCenter 211

7.5 Lua中使用Protobuf 214

7.6扩展Lua接口 218

7.6.1 Lua C API 218

7.6.2 Lua栈 219

7.6.3 Lua Binding实战(1):tolua++手动绑定 220

7.6.4 Lua Binding实战(2):扩展Spine接口 226

7.7 OpenGL ES 2.0与shader编程 233

7.7.1 OpenGL ES简介 234

7.7.2 OpenGL ES绘制几何图形 236

7.7.3矩阵变换 245

7.7.4纹理贴图 249

7.7.5 Cocos2d-Lua中使用自定义shader 258

第8章 打包与发布 264

8.1 Android项目的编译与打包 264

8.1.1 Build Native 264

8.1.2 Android Studio打包 267

8.1.3命令行打包 269

8.2 Mac下编译iOS版本 271

8.2.1先决条件 271

8.2.2 Debug真机调试 271

8.2.3 Release打包 272

8.3 Lua源文件的保护 274

8.3.1 LuaJIT bytecode 275

8.3.2 PackageScripts.py脚本 276

8.3.3修改Lua启动入口 277

8.4加密资源文件 278

8.4.1 EncodeRes.py脚本 278

8.4.2解密设置 279

8.5 SDK接入 281

8.5.1使用LuaJ接入Android SDK 281

8.5.2使用Luaoc接入iOS SDK 284