第1章 初识Cocos Creator 1
1.1 Cocos Creator简介 2
1.1.1 什么是游戏引擎 2
1.1.2 为什么使用Cocos Creator 2
1.1.3 善用文档和社区 3
1.2 Cocos Creator的安装与启动 4
1.2.1 安装Dashboard 5
1.2.2 下载编辑器 5
1.2.3 创建项目 7
1.3 编辑器介绍 8
1.3.1 编辑器界面 9
1.3.2 调整编辑器布局 10
1.4 Hello World 12
1.4.1 创建场景 12
1.4.2 向场景中添加文字 14
1.4.3 预览运行项目 18
1.5 本章小结 18
第2章 脚本编程基础 19
2.1 配置外部工具 20
2.1.1 Chrome浏览器 20
2.1.2 VS Code编辑器 21
2.1.3 配置默认外部程序 21
2.2 创建和使用游戏脚本 22
2.2.1 脚本的创建 22
2.2.2 编辑脚本 24
2.2.3 绑定脚本 26
2.2.4 hello游戏脚本 27
2.3 TypeScript基础 28
2.3.1 变量的声明 29
2.3.2 条件语句 30
2.3.3 switch语句 32
2.3.4 循环基础 33
2.3.5 数组 34
2.3.6 对象 35
2.3.7 函数 36
2.3.8 类 37
2.4 脚本组件基础 38
2.4.1 组件类 38
2.4.2 cc类 38
2.4.3 属性装饰器 38
2.4.4 与其他节点及组件交互 40
2.4.5 脚本的生命周期 41
2.5 本章小结 43
第3章 2D对象——对战小游戏《击败魔物》 44
3.1 模块简介及基础准备 45
3.1.1 游戏简介 45
3.1.2 游戏规则 45
3.1.3 创建游戏项目 46
3.1.4 目录规划与资源导入 46
3.2 使用图片资源 48
3.2.1 2D对象的渲染 48
3.2.2 向场景中添加图片 48
3.2.3 Sprite组件简介 50
3.2.4 UITransform组件简介 52
3.3 完善场景布局 53
3.3.1 修改游戏设计分辨率 54
3.3.2 使用变换工具 56
3.3.3 父节点与子节点变换关系 58
3.3.4 节点的遮挡关系 59
3.3.5 添加提示文本 59
3.4 实现游戏核心逻辑 61
3.4.1 使用计时器 61
3.4.2 使用Button组件 63
3.4.3 添加“重新开始”功能 66
3.4.4 小节代码一览 66
3.5 本章小结 69
第4章 缓动系统——反应小游戏《爆破点点》 70
4.1 模块简介及基础准备 71
4.1.1 游戏简介 71
4.1.2 游戏规则 71
4.1.3 创建游戏项目 71
4.1.4 目录规划与资源导入 72
4.1.5 场景初始化 73
4.2 搭建场景布局 73
4.2.1 制作纯色背景 73
4.2.2 添加子弹与敌人 75
4.2.3 添加尖刺元素 75
4.2.4 批量调整节点属性 77
4.3 触摸事件的响应 78
4.3.1 事件系统简介 78
4.3.2 监听和发射事件 79
4.3.3 输入事件系统 81
4.3.4 游戏脚本的调整 83
4.4 使用缓动系统 83
4.4.1 缓动系统简介 84
4.4.2 实现子弹发射效果 84
4.4.3 实现击中判定 86
4.4.4 让敌人动起来 88
4.4.5 实现死亡判定 89
4.5 完善得分逻辑 89
4.5.1 添加得分Label 90
4.5.2 得分逻辑的实现 90
4.5.3 随机化敌人的初始状态 92
4.6 2D粒子初探 93
4.6.1 使用2D粒子 94
4.6.2 ParticleSystem2D简介 95
4.6.3 使用爆破粒子 96
4.6.4 小节代码一览 98
4.7 本章小结 102
第5章 2D物理与遮罩——跑酷小游戏《跃动小球》 103
5.1 模块简介及基础准备 104
5.1.1 游戏简介 104
5.1.2 游戏规则 104
5.1.3 创建游戏项目 105
5.1.4 目录规划与资源导入 105
5.1.5 场景初始化 106
5.2 2D物理系统初探 106
5.2.1 2D物理简介 107
5.2.2 使用2D刚体组件 107
5.2.3 刚体类型 108
5.2.4 使用2D碰撞组件 109
5.2.5 绘制物理调试信息 111
5.3 实现小球操控逻辑 113
5.3.1 修改刚体移动速度 113
5.3.2 碰撞回调 114
5.4 实现游戏核心逻辑 116
5.4.1 预制体 117
5.4.2 使用预制体创建新节点 118
5.4.3 让小球“跑起来” 119
5.4.4 细节优化与完善 121
5.4.5 小节代码一览 123
5.5 遮罩的妙用 126
5.5.1 遮罩组件简介 127
5.5.2 椭圆遮罩 128
5.5.3 反向遮罩 128
5.5.4 矩形遮罩 130
5.5.5 自定义图形遮罩 131
5.5.6 制作【开始】按钮 132
5.5.7 制作【开始】界面 133
5.6 本章小结 134
第6章 音频系统——益智小游戏《迷你拼图》 135
6.1 模块简介及基础准备 136
6.1.1 游戏简介 136
6.1.2 游戏规则 136
6.1.3 创建游戏项目 137
6.1.4 目录规划与资源导入 137
6.1.5 场景初始化 138
6.2 制作拼图块 138
6.2.1 图片资源的动态加载 138
6.2.2 设置SpriteFrame的纹理区域 140
6.2.3 制作拼图块预制体 141
6.3 实现游戏核心逻辑 143
6.3.1 初始化拼图块 143
6.3.2 打乱拼图块 145
6.3.3 处理拼图点击事件 148
6.4 为游戏添加音乐 150
6.4.1 音频资源 150
6.4.2 AudioSource组件简介 151
6.4.3 播放背景音乐 152
6.4.4 播放点击音效 152
6.4.5 小节代码一览 154
6.5 本章小结 159
第7章 动画系统——回合制小游戏《简易RPG战斗》 160
7.1 模块简介及基础准备 161
7.1.1 游戏简介 161
7.1.2 游戏规则 161
7.1.3 创建游戏项目 162
7.1.4 目录规划与资源导入 162
7.1.5 场景初始化 163
7.1.6 场景搭建 163
7.2 实现游戏核心逻辑 166
7.2.1 数值初始化 166
7.2.2 添加操作按钮逻辑 168
7.2.3 添加敌人死亡刷新逻辑 171
7.3 动画系统初探 172
7.3.1 动画系统简介 172
7.3.2 使用动画组件 172
7.3.3 编辑受击动画 174
7.3.4 播放受击动画 176
7.3.5 添加刀光动画 177
7.3.6 挂载新动画剪辑 178
7.4 细节优化 180
7.4.1 添加【前进】按钮 180
7.4.2 过渡动画 182
7.4.3 动画回调 182
7.4.4 修复攻击间隔bug 183
7.4.5 小节代码一览 184
7.5 本章小结 189
第8章 3D初探——《跃动小球》3D版复刻 190
8.1 模块简介及基础准备 191
8.1.1 游戏简介 191
8.1.2 游戏规则 191
8.1.3 创建游戏项目 191
8.1.4 目录规划与资源导入 192
8.1.5 场景初始化 192
8.2 3D编辑模式基础 193
8.2.1 新建3D内置对象 193
8.2.2 3D视窗调整 194
8.2.3 摄像机角度的调整 196
8.2.4 3D节点属性调整 197
8.3 为3D对象添加物理元素 197
8.3.1 3D物理简介 198
8.3.2 添加刚体组件 199
8.3.3 添加碰撞组件 199
8.4 实现游戏核心逻辑 200
8.4.1 移植2D核心逻辑 200
8.4.2 显示得分 204
8.4.3 摄像机 205
8.4.4 小节代码一览 207
8.5 本章小结 211
第9章 跨平台发布 212
9.1 模块简介及基础准备 213
9.1.1 模块简介 213
9.1.2 创建项目 213
9.1.3 目录规划与资源导入 214
9.1.4 场景初始化 214
9.1.5 场景搭建 214
9.2 初识构建发布面板 214
9.2.1 构建发布配置页 215
9.2.2 通用构建选项简介 216
9.2.3 平台构建选项简介 217
9.2.4 构建任务 218
9.3 为Web导出 218
9.3.1 构建配置 218
9.3.2 构建项目 219
9.3.3 搭建简易的本地服务器 220
9.4 为Android导出 221
9.4.1 配置Java环境 221
9.4.2 安装Android Studio 221
9.4.3 配置SDK和NDK路径 225
9.4.4 构建项目 226
9.5 为iOS导出 227
9.5.1 安装Xcode 227
9.5.2 构建项目 228
9.6 为小游戏平台导出 229
9.6.1 配置微信开发者工具 229
9.6.2 构建项目 230
9.7 本章小结 231
第10章 独立项目的设立与上线 232
10.1 如何获取游戏灵感 233
10.1.1 带着问题去玩游戏 233
10.1.2 关注热门游戏榜单和趋势 234
10.1.3 制作灵感笔记 235
10.1.4 拓宽灵感获取的渠道 235
10.1.5 SCAMPER分析法 236
10.2 如何立项与迭代 236
10.2.1 从小项目开始 236
10.2.2 快速原型设计 237
10.2.3 获取反馈与迭代 237
10.3 游戏的上架 238
10.3.1 申请计算机软件著作权 238
10.3.2 申请开发者账号 238
10.3.3 准备材料与上架 239
10.3.4 申请广告位 239
10.4 本章小结 240