Cocos Creator 3.x 游戏开发入门与实战
  • 推荐0
  • 收藏0
  • 浏览643

Cocos Creator 3.x 游戏开发入门与实战

黄鸿信 (作者) 

  • 书  号:978-7-121-44088-5
  • 出版日期:2022-08-01
  • 页  数:
  • 开  本:
  • 出版状态:上市销售
  • 维护人:黄爱萍
本书基于Cocos Creator 3.x版本编写,书中精选了多个有趣的小游戏原型,每个小游戏原型都涵盖了相应的基础知识,包括2D对象、缓动系统、2D物理与遮罩、音频系统、动画系统等,旨在通过实战的方式引导读者快速入门。本书的内容浅显易懂,非常适合零基础的读者,无论是在校学生还是刚接触游戏开发的编程人员,都可以通过阅读本书学到想要的知识。本书的最后一章分享了独立小游戏开发者的经验,包括如何获取游戏灵感、如何立项与迭代等,可以为想要进行独立小游戏开发的新人解答“怎么开始”的困惑。如果你对游戏开发感兴趣,相信你一定能从本书中有所收获。
黄鸿信,AX-GAME独立小游戏制作人,擅长设计解密、反应类小游戏,曾独立设计并开发了《帽子先生大冒险》《跃动方块》等爆款小游戏。于2019年接触Cocos后,出于兴趣开始在bilibili网站(ID:阿信OL)连载Cocos Creator小游戏开发教程,涵盖RPG游戏、飞刀游戏、虐心游戏、反应力游戏等十余种游戏类型,其中《从零开发ARPG地下城》《完美方块》《爆破点点》等多个小游戏教程深受网友喜爱。
前言
Cocos Creator是一款非常强大的游戏开发引擎,它有着优秀的跨平台特性和极强的易用性,在游戏开发领域广受好评。本书旨在引导读者快速入门,通过多个案例快速熟悉Cocos Creator的各项基础知识,同时涵盖游戏开发中的一些小技巧。
本书不会对API知识点进行大篇幅的讲解,也不会讲述过于复杂的游戏逻辑,同时,书中的案例尽可能地做到了简化,并围绕案例讲述相关的API知识点及其具体用法。通过阅读本书,读者可以快速了解具体知识点的应用场景,并学以致用。当读完本书时,读者将会对Cocos Creator有较为全面的了解,同时具备独立制作游戏的能力。
本书读者对象
本书适合对游戏开发感兴趣或者Cocos Creator的初学者。无论是在校学生还是刚接触游戏开发的编程人员,也都可以通过阅读本书学到想要的知识。
如果你一直想做出一款属于自己的游戏,但是在学习之初不确定自己应该挑选什么书来阅读,或者在阅读一些书时看到通篇的API讲解就开始晕头转向,或者在跟着书籍制作复杂的案例项目时坚持不下去,那么本书就是为你量身打造的。本书围绕有趣的案例展开讲解,让你从零开始,真正感受到游戏开发的乐趣,从而树立起学习的信心。
本书组织结构
本书总共10章,各章内容介绍如下。
第1章:介绍如何搭建基础的开发环境,并运行第一个“Hello World”项目。
第2章:介绍TypeScript的基础知识及Cocos Creator脚本组件的基础知识等。
第3章:制作一个对战小游戏,并在制作的过程中介绍如何使用图片资源及如何进行场景的搭建等。
第4章:通过制作一个有趣的反应小游戏来介绍缓动系统的相关知识。
第5章:介绍2D物理的相关知识,并用这些知识实现一个简单的跑酷小游戏。
第6章:制作一个有趣的拼图小游戏,同时介绍音频的基础知识,并将这些知识应用到游戏中,让游戏变得更加有趣。
第7章:制作一个简易的RPG回合制战斗小游戏,并基于动画系统的相关知识,为游戏增加动画效果,让游戏变得更加生动。
第8章:把在第5章中制作的小游戏从2D版本移植为3D版本,并通过移植的过程介绍相关的3D基础知识。
第9章:介绍Cocos Creator的发布系统,并尝试将游戏项目打包到各个平台。
第10章:介绍一些开发独立项目的心得与小技巧,了解游戏是如何从创意获取到立项再到成功上线的。
本书阅读建议
为了帮助读者更好地理解各个知识点,本书会将多个知识点分散到不同章节的项目案例中穿插讲解,在每个知识点首次出现时都会对其进行较为详细的解释,之后则不会进行赘述。建议初学者根据章节顺序进行阅读,从而逐步了解各个知识点。同时,本书各章节的实战案例也较为独立,已经有一定基础的读者也可以通过查阅目录直接跳转到对应知识点的章节进行学习。读者可以结合自身情况选择合适的方式进行阅读,但是在阅读时请务必跟随书中的指引进行实操,以便加深对知识点的理解。
由于Cocos Creator的版本一直在更新,本书的内容会存在一定的滞后性,因此当你在学习本书的内容时,使用的可能是比书中的版本更新的编辑器。在编写此书时,可供下载的Cocos Creator的最新版本为3.4.2,不同版本的引擎可能存在不同之处,为了保证学习过程的顺利进行,建议下载与本书所用版本相同的引擎。在熟练掌握基础知识之后,再根据自己的实际需求选择对应的引擎版本。
随书下载资源
使用微信扫描本书封底的二维码,可以获取各个章节的素材及项目资源。
致谢
本书从大纲的起草、资料的搜集到内容的编写,得到了很多人的帮助。感谢Cocos生态团队的大表姐、老王、蒋先生、放空,感谢你们一直鼓励并帮助我解决编写本书时遇到的各种问题,没有你们的鼓励我可能不会有勇气完成这本书的写作。感谢Cocos CEO&联合创始人林顺、Cocos引擎技术总监panda为本书所写的推荐语。感谢上海灵禅网络科技股份有限公司CEO兰海文作为本书技术顾问提供的帮助。感谢本书的责任编辑黄爱萍老师在编写本书时提供的指导与帮助。感谢厦门大学李一同同学对本书内容所做的核对。最后感谢所有在编写本书时帮助过我的朋友、bilibili网站上关注过我的小伙伴以及玩过我制作的游戏的每一位玩家。

目录

第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语句 31
2.3.4 循环基础 32
2.3.5 数组 34
2.3.6 对象 35
2.3.7 函数 36
2.3.8 类 36
2.4 脚本组件基础 37
2.4.1 组件类 37
2.4.2 cc类 38
2.4.3 属性装饰器 38
2.4.4 与其他节点及组件交互 39
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

读者评论