| 作者 |
| 王寅寅 满硕泉 |
| 丛书名 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9782005181015 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------独立游戏开发:基础、实践与创收(Unity 2D Android篇)--------------------------- 本书将独立游戏开发分为了三个部分。第一部分我们尝试对独立游戏开发进行相关理论分析。第二部分侧重实践,我们首先对游戏进行了简单设计,再使用Unity展示了一款2D Android游戏的具体开发流程,案例专注于游戏层面的设计与编码,不包含晦涩难懂的底层逻辑。第三部分专注于如何使用游戏创造收入,包括使用GooglePlay渠道发布游戏、植入广告、在游戏内创建虚拟商品、实现内购功能等。 本书第一部分适合所有想要了解独立游戏开发的读者,第二、三部分则适合具有一定C#或Java编程语言基础的游戏开发初学者。 ---------------------------Cocos Creator游戏开发实战--------------------------- 这是一部系统性、深度和实战性兼顾的Cocos Creator游戏开发工具书,内容得到了Cocos引擎的创始人、触控科技西南区总经理、Cocos Creator引擎主程等多位官方专家的高度评价。作者有8年的移动游戏开发经验,对包括Cocos Creator在内的各种Cocos游戏引擎都有非常深入的研究。 本书基于Cocos Creator 2.x版本撰写,不仅详细讲解了Cocos Creator引擎的各种功能特性、Cocos Creator引擎核心模块的工作机制和原理,而且还详细讲解了基于Cocos Creator开发游戏的流程、方法、技巧和优秀实践。不仅适合读者零基础快速入门,而且还能满足初学者进阶修炼的需求。 全书一共16章,分为四大部分: 第一部分 准备篇(第1~2章) 主要介绍了Cocos Creator的功能、特点、适用场景、基本架构、工作流,以及跨平台开发环境的搭建。 第二部分 基础篇(第3~8章) 对Cocos Creator的场景制作、资源管理、脚本编程、UI系统、动画系统和物理系统等核心模块的功能和原理进行了深入讲解,同时配备了具体应用案例。 . 第三部分 实例篇(第9~11章) 讲解了三个游戏案例的开发过程和方法,包括消除类游戏、飞行游戏和棋牌类游戏,旨在让读者深入了解Cocos Creator的基础知识在游戏开发中的实际使用,三种游戏分别代表了消除类、纵版射击和棋牌类,可以让开发者深入了解不同类型游戏的开发思想。 第四部分 扩展篇(第12~16章) 内容涵盖Cocos Creator的扩展插件、SDK、网络,如何使用Cocos Creator开发小游戏,以及Cocos Creator引擎游戏的算法、设计模式和性能优化等主题。 |
| 目录 |
---------------------------独立游戏开发:基础、实践与创收(Unity 2D Android篇)--------------------------- 前言 第1篇 独立游戏开发基础 第1章 基本认识 2 1.1 何为独立游戏 2 1.2 独立游戏开发?开发独立游戏?独立开发游戏? 3 1.3 独立游戏开发者 5 1.4 矛盾碰撞的产物 6 第2章 条件因素 9 2.1 个体条件 9 2.1.1 叛逆 9 2.1.2 边行动边计划 10 2.1.3 良好的身心素质 11 2.2 观念条件 12 2.2.1 不是“电子毒品” 12 2.2.2 伟大的“艺术品” 14 2.2.3 不变的原始目的 15 2.2.4 不盲目排斥商业因素 16 2.2.5 高尚的品质 17 2.3 资金条件 18 2.4 环境条件 19 2.5 知识条件 21 2.5.1 编程 21 2.5.2 美术 21 2.5.3 音乐 22 2.5.4 文学 22 2.5.5 财会 22 2.5.6 商业 22 第3章 团队与个人 23 3.1 团队与个人的关系 23 3.1.1 成员关系 23 3.1.2 委托关系 24 3.1.3 授权关系 25 3.2 团队开发的理由 25 3.2.1 提高生产力 25 3.2.2 利于成长 26 3.2.3 符合社会性本质 27 3.3 独自开发的理由 27 3.3.1 掌握主动权 28 3.3.2 学习目的 29 3.3.3 无合适协作对象 29 3.4 开发者状态 30 3.4.1 全职雇员状态 31 3.4.2 兼职者状态 32 3.4.3 自由职业者状态 32 3.4.4 创业者状态 33 第4章 矛盾双方及融合 34 4.1 独立精神 34 4.1.1 广泛性 35 4.1.2 主观性 36 4.1.3 模糊性 37 4.2 商业力量 39 4.2.1 投资与融资 39 4.2.2 采购与营销 41 4.3 融合 44 4.3.1 融合的条件 45 4.3.2 融合的目的 48 4.4 创收途径 49 4.4.1 一次性销售 49 4.4.2 第三方广告收入 50 4.4.3 虚拟商品销售 50 4.4.4 融资 50 第5章 Unity及相关工具 51 5.1 Unity简介 51 5.1.1 引擎特点 51 5.1.2 下载安装及项目的建立 53 5.1.3 操作界面 55 5.1.4 项目构建与导出 63 5.2 Visual Studio简介 65 5.3 Git与GitHub 67 5.3.1 Git简介 67 5.3.2 GitHub简介 69 5.4 Android Studio简介 72 5.5 其他推荐工具 74 5.5.1 GIMP简介 74 5.5.2 Aseprite简介 75 5.5.3 Blender简介 75 5.5.4 LMMS简介 75 5.5.5 Audacity简介 75 5.5.6 XMind简介 75 5.5.7 Visual Paradigm简介 76 第2篇 独立游戏开发实践 第6章 简单设计 78 6.1 故事 78 6.2 玩法 80 6.3 操作界面 82 6.4 登场对象 83 6.4.1 主角 83 6.4.2 纸飞机 84 6.4.3 金币 84 6.4.4 障碍 84 6.4.5 敌人 85 6.4.6 复活猫 86 6.5 主题 86 第7章 游戏雏形 87 7.1 临时主角 87 7.1.1 创建主角游戏对象 87 7.1.2 图像资源导入设置 89 7.1.3 资源导入设置脚本 90 7.2 移动 91 7.2.1 基于Transform的移动 91 7.2.2 移动改进 92 7.3 碰撞 94 7.3.1 刚体与碰撞器组件 94 7.3.2 碰撞逻辑 96 7.4 物理系统 97 7.4.1 游戏对象调整 98 7.4.2 渲染顺序修正 99 7.4.3 基于物理系统的移动 100 7.4.4 基于物理系统的跳跃与碰撞 101 第8章 主角 104 8.1 行为动画 104 8.1.1 Spritesheet切片 104 8.1.2 首次创建动画 105 8.1.3 后续动画的创建 106 8.2 动画状态机 107 8.2.1 动画控制器窗口 108 8.2.2 状态转换关系 108 8.2.3 脚本逻辑 110 8.2.4 Bug修复 118 8.3 主角、气体与纸飞机 119 8.3.1 主角与气体 119 8.3.2 纸飞机与气体 124 8.3.3 主角与纸飞机 131 第9章 背景画面 134 9.1 近景画面 134 9.1.1 Tilemap功能 134 9.1.2 创建Tile资源 136 9.1.3 铺设Tile 137 9.2 远景画面 138 9.3 屏幕适配 139 9.4 视差效果 141 9.4.1 多重摄像机 141 9.4.2 视差逻辑 143 第10章 敌人及障碍 145 10.1 路障 145 10.1.1 Spritesheet切片 145 10.1.2 路障调整 146 10.2 恶犬 147 10.2.1 动画与游戏对象 147 10.2.2 脚本逻辑 148 10.3 金币炸弹 152 10.3.1 动画与游戏对象 152 10.3.2 脚本逻辑 153 10.4 小鸟 154 10.4.1 PlayerDistanceChecker脚本修改 155 10.4.2 Bird脚本逻辑 156 10.5 美女 158 10.5.1 动画与游戏对象 158 10.5.2 脚本逻辑 159 10.6 汽车 163 10.6.1 动画与游戏对象 163 10.6.2 脚本逻辑 164 10.7 摔倒陷阱 166 10.8 小屁孩儿 168 10.8.1 动画与游戏对象 168 10.8.2 脚本逻辑 169 10.9 UFO 172 10.10 巨人 175 10.10.1 动画与游戏对象 175 10.10.2 脚本逻辑 177 10.11 蝗虫 180 10.11.1 预制件 180 10.11.2 脚本逻辑 181 10.12 恶魔猫 183 10.12.1 动画与游戏对象 183 10.12.2 脚本逻辑 184 第11章 其他登场对象 189 11.1 金币 189 11.1.1 预制件 189 11.1.2 脚本逻辑 189 11.2 复活猫 191 11.2.1 动画与游戏对象 191 11.2.2 脚本逻辑 191 11.2.3 Bug修复 195 11.3 其他主角 197 11.3.1 动画与游戏对象 198 11.3.2 继承PlayerController类 200 11.3.3 继承AirCollisionChecker类 202 11.3.4 继承InhaleController类 203 11.3.5 PlayerSwitcher脚本逻辑 204 第12章 操作界面 208 12.1 跳跃与吹气按钮 208 12.1.1 跳跃按钮 208 12.1.2 吹气按钮 213 12.2 能量条 217 12.2.1 游戏对象 217 12.2.2 脚本逻辑 218 12.3 数据显示区域 220 12.3.1 游戏对象 220 12.3.2 脚本逻辑 222 12.4 暂停退出按钮 227 12.4.1 游戏对象 227 12.4.2 脚本逻辑 230 12.4.3 死亡弹出按钮 232 12.5 游戏开始界面 235 12.5.1 开始与关闭游戏按钮 235 12.5.2 主角切换开关 237 第13章 游戏收尾 241 13.1 3秒倒计时 241 13.1.1 游戏对象 241 13.1.2 脚本逻辑 242 13.2 位置提示线 245 13.2.1 游戏对象 245 13.2.2 脚本逻辑 246 13.3 坏结局与通关 247 13.3.1 心爱的姑娘 247 13.3.2 抵达终点 249 13.3.3 游戏通关界面 253 13.4 音乐及音效 257 13.4.1 游戏音乐 257 13.4.2 游戏音效 259 第3篇 独立游戏开发创收 第14章 游戏发布 272 14.1 运行在Android平台上 272 14.1.1 PlayerController脚本修改 272 14.1.2 手机开发者模式 274 14.1.3 构建与运行 275 14.2 GooglePlay渠道 277 14.2.1 启动PLAY管理中心 278 14.2.2 创建应用并设置版本 280 14.2.3 完善其他条目 282 14.2.4 发布游戏 284 第15章 AdMob广告 289 15.1 AdMob简介 289 15.2 AdMob管理中心 289 15.2.1 进入AdMob管理中心 289 15.2.2 添加应用 291 15.2.3 创建广告单元 292 15.3 复活及广告展示逻辑 296 15.4 导出游戏工程 300 15.5 接入AdMob广告SDK 301 15.5.1 导入广告SDK 301 15.5.2 更新AndroidManifests.xml文件 303 15.5.3 初始化广告SDK 304 15.6 植入广告 306 第16章 GooglePlay内购 309 16.1 复活宝石 309 16.1.1 游戏对象及按钮 309 16.1.2 脚本逻辑 310 16.2 内购逻辑 314 16.2.1 更新AndroidManifests.xml文件 315 16.2.2 导入GooglePlay结算SDK 315 16.2.3 GooglePlay结算服务 316 16.3 发布新版本 319 16.3.1 构建新版本Apk 319 16.3.2 上传新版本Apk 321 16.4 应用内商品 323 16.4.1 设置商家账号 323 16.4.2 创建受管理的商品 324 ---------------------------Cocos Creator游戏开发实战--------------------------- 序一 序二 前言 第一部分 准备篇 第1章 认识Cocos Creator2 1.1 什么是Cocos Creator2 1.1.1 Cocos Creator的由来3 1.1.2 Cocos Creator的组成4 1.1.3 Cocos Creator的特点5 1.2 Cocos Creator的基本架构和工作流5 1.2.1 Cocos Creator的架构6 1.2.2 Cocos Creator的工作流程6 1.2.3 Cocos Creator 2.0版本7 1.2.4 升级你的项目到Cocos Creator 2.0版本8 1.3 为何选择Cocos Creator9 1.3.1 Cocos Creator和Cocos2D-X9 1.3.2 Cocos Creator和Unity10 1.3.3 学习Cocos Creator需要的知识11 1.4 本章小结11 第2章 搭建跨平台的开发环境12 2.1 Cocos Creator的安装配置12 2.1.1 Cocos Creator的运行编译环境13 2.1.2 Cocos Creator安装过程13 2.2 原生平台的基本介绍和项目导出14 2.2.1 Android平台的基本介绍14 2.2.2 iOS平台的基本介绍15 2.2.3 原生平台的导出16 2.2.4 调用原生平台的代码17 2.3 HTML5基本介绍和项目导出19 2.3.1 HTML5简介19 2.3.2 构建和发布20 2.4 本章小结20 第二部分 基础篇 第3章 Cocos Creator的场景制作22 3.1 认识Cocos Creator编辑器22 3.1.1 Cocos Creator基本界面22 3.1.2 Cocos Creator编辑器的布局23 3.2 Cocos Creator中的节点和组件24 3.2.1 Cocos Creator中的节点24 3.2.2 Cocos Creator中的组件24 3.3 Cocos Creator中的坐标系25 3.3.1 笛卡儿坐标系25 3.3.2 标准屏幕坐标系25 3.3.3 世界坐标系26 3.3.4 本地坐标系26 3.3.5 节点的锚点26 3.4 创建你的第一个Cocos Creator项目27 3.4.1 创建项目27 3.4.2 项目结构28 3.5 本章小结29 第4章 Cocos Creator的资源管理30 4.1 图片资源的管理30 4.1.1 图片资源的导入30 4.1.2 图集资源的制作和导入31 4.2 声音资源的管理32 4.2.1 WebAudio方式加载音频33 4.2.2 DomAudio方式加载音频33 4.3 预制体的创建和使用34 4.3.1 何为预制体34 4.3.2 预制体的创建和使用34 4.4 字体资源的管理35 4.4.1 位图字体的制作35 4.4.2 位图字体的导入和使用39 4.5 粒子资源管理39 4.5.1 粒子系统39 4.5.2 粒子系统的特点和构成40 4.5.3 Cocos Creator中的粒子资源41 4.6 Tiled地图集资源管理41 4.6.1 Tiled地图编辑器42 4.6.2 地图资源文件的导入和使用42 4.7 资源的导入和导出44 4.7.1 资源的导出44 4.7.2 资源的导入44 4.8 本章小结45 第5章 Cocos Creator脚本编程46 5.1 JavaScript基础46 5.1.1 JavaScript的变量及内置类型47 5.1.2 JavaScript的操作符和控制结构49 5.1.3 JavaScript实现面向对象50 5.2 Cocos Creator中的JavaScript51 5.2.1 创建和使用组件脚本51 5.2.2 使用cc.Class声明53 5.2.3 TiledMap地图操作55 5.2.4 脚本生命周期57 5.2.5 节点基本操作57 5.3 使用JavaScript进行资源管理58 5.3.1 使用JavaScript管理场景58 5.3.2 使用JavaScript管理资源59 5.4 JavaScript的组织模式62 5.4.1 模块化脚本62 5.4.2 插件化脚本63 5.5 JavaScript对象池64 5.5.1 对象池的概念64 5.5.2 对象池的使用64 5.6 本章小结65 第6章 Cocos Creator的UI系统66 6.1 基础渲染组件66 6.1.1 精灵组件66 6.1.2 Sprite的混合69 6.1.3 Label组件70 6.1.4 Camera摄像机72 6.2 Cocos Creator中的事件系统73 6.2.1 节点系统事件75 6.2.2 全局系统事件76 6.3 UI界面的适配和布局77 6.3.1 分辨率的适配78 6.3.2 UI界面的对齐策略79 6.4 常用的UI组件80 6.4.1 布局组件Layout81 6.4.2 按钮组件82 6.4.3 输入框组件EditBox84 6.4.4 富文本组件RichText86 6.4.5 进度条组件ProgressBar88 6.4.6 滑动器组件Slider89 6.4.7 页面容器89 6.4.8 复选框组件91 6.4.9 滚动列表92 6.5 实例:卡牌游戏的经典UI界面93 6.5.1 UI界面的设计93 6.5.2 UI界面功能制作94 6.5.3 界面相关逻辑开发95 6.6 本章小结98 第7章 Cocos Creator的动画系统99 7.1 Cocos Creator的动画系统99 7.1.1 Cocos Creator中的动作100 7.1.2 Cocos Creator的动画编辑器105 7.1.3 动画组件Animation和动画切片剪辑106 7.1.4 通过代码控制动画109 7.2 在Cocos Creator中使用粒子特效113 7.3 骨骼动画—DragonBone114 7.3.1 龙骨的基本介绍115 7.3.2 在Cocos Creator中使用骨骼动画116 7.4 Spine动画120 7.4.1 Spine的基本介绍120 7.4.2 在Cocos Creator中使用Spine动画121 7.5 实例:卡牌游戏经典战斗场景126 7.5.1 战斗场景的设计126 7.5.2 战斗场景的具体逻辑开发127 7.6 本章小结134 第8章 Cocos Creator的物理系统136 8.1 Cocos Creator的碰撞系统136 8.1.1 编辑碰撞组件137 8.1.2 碰撞分组管理138 8.1.3 使用脚本处理碰撞系统139 8.1.4 使用碰撞系统的示例141 8.2 Cocos Creator中的Box2D145 8.2.1 Box2D简介145 8.2.2 Cocos Creator中的Box2D146 8.2.3 Cocos Creator中的Box2D组件148 8.3 本章小结153 第三部分 实例篇 第9章 消除类游戏:快乐消消乐156 9.1 三消游戏的特点156 9.2 快乐消消乐游戏简介156 9.3 游戏模块的开发158 9.3.1 开始游戏模块158 9.3.2 游戏初始化模块160 9.3.3 初始化“棋盘”162 9.3.4 处理用户输入和物块消除逻辑164 9.3.5 声音和暂停172 9.4 本章小结174 第10章 射击类游戏:飞机大战175 10.1 纵版射击游戏的特点175 10.2 飞机大战游戏简介176 10.3 游戏模块的开发178 10.3.1 开始游戏模块179 10.3.2 选择角色模块实现181 10.3.3 游戏主界面显示模块183 10.3.4 敌机模块185 10.3.5 主角飞机模块187 10.3.6 游戏控制逻辑189 10.4 本章小结192 第11章 棋牌类游戏:欢乐斗地主193 11.1 棋牌类游戏特点193 11.2 斗地主游戏简介194 11.3 游戏模块的开发195 11.3.1 开始游戏模块196 11.3.2 卡牌类和玩家类197 11.3.3 游戏规则模块200 11.3.4 抢地主模块203 11.3.5 正式游戏模块207 11.4 本章小结212 第四部分 扩展篇 第12章 使用Cocos Creator开发微信小游戏214 12.1 微信简介214 12.2 微信小程序215 12.2.1 微信小程序简介216 12.2.2 申请开发账号216 12.2.3 微信小程序开发工具219 12.2.4 微信小程序程序结构220 12.2.5 发布和上线225 12.3 微信小游戏226 12.3.1 微信小游戏简介226 12.3.2 微信小游戏的开发228 12.3.3 使用Cocos Creator导出微信小游戏项目231 12.3.4 微信小游戏的资源管理233 12.3.5 接入微信小游戏的子域234 12.4 本章小结238 第13章 游戏中的地图算法239 13.1 Roguelike地图生成算法239 13.1.1 Roguelike游戏240 13.1.2 地图生成算法240 13.1.3 地图生成算法的具体实现241 13.2 A星算法249 13.2.1 启发式搜索算法原理249 13.2.2 什么是A星搜索249 13.2.3 A星算法在JavaScript中的实现251 13.2.4 跳点搜索257 13.3 本章小结261 第14章 Cocos Creator的扩展263 14.1 第一个扩展包263 14.1.1 Node.js的package.json264 14.1.2 Cocos Creator的第一个扩展包—Hello World266 14.1.3 进程间通信—IPC267 14.2 深入开发扩展269 14.2.1 入口程序269 14.2.2 为扩展包开发相应的功能270 14.2.3 扩展主菜单271 14.2.4 扩展编辑面板272 14.2.5 进程间通信的工作流程275 14.2.6 为插件提供组件和资源276 14.3 开发扩展页面276 14.3.1 定制界面模板276 14.3.2 界面排版278 14.3.3 界面元素279 14.4 扩展商店—Cocos Store280 14.4.1 从扩展商店获取插件280 14.4.2 提交插件到扩展商店280 14.5 多语言支持—i18n283 14.5.1 游戏开发的多语言化283 14.5.2 插件多语言285 14.6 本章小结286 第15章 Cocos Creator中的网络和SDK287 15.1 Cocos Creator中的网络接口288 15.1.1 XMLHttpRequest的使用288 15.1.2 WebSocket的使用290 15.1.3 SoekctIO的使用293 15.2 热更新解决方案295 15.2.1 Cocos引擎的热更新原理及流程295 15.2.2 Cocos引擎的热更新的使用方法299 15.3 Cocos Creator与游戏平台SDK301 15.3.1 AnySDK简介302 15.3.2 在Cocos Creator中使用AnySDK303 15.3.3 Cocos Analytics简介304 15.3.4 在Cocos Creator中使用Cocos Analytics305 15.4 本章小结306 第16章 游戏开发优化307 16.1 Cocos引擎渲染原理307 16.1.1 OpenGL ES简介308 16.1.2 可编程管线309 16.1.3 着色器310 16.1.4 Cocos引擎渲染原理315 16.1.5 在Cocos2D-X中使用shader319 16.1.6 实例:在Cocos Creator中使用shader321 16.2 游戏常用的设计模式328 16.2.1 命令模式329 16.2.2 享元模式330 16.2.3 观察者模式331 16.2.4 状态模式331 16.2.5 单例模式333 16.3 Cocos引擎游戏的性能优化334 16.3.1 Cocos2D-X的内存管理334 16.3.2 资源的优化337 16.3.3 利用Cocos2D-X的特性进行性能优化338 16.3.4 异步加载339 16.4 本章小结341 附录A 粒子特效的制作342 附录B Tiled地图的制作355 |