欢迎访问学兔兔,学习、交流 分享 !

返回首页 |
当前位置: 首页 > 书籍手册>计算机与网络 >Cocos2d JS游戏开发 凌建风 著 2016年版

Cocos2d JS游戏开发 凌建风 著 2016年版

收藏
推荐:升级会员 无限下载,节约时间成本!
关键词:原创   游戏   开发   Cocos2d   JS
资源简介
图灵原创:Cocos2d JS游戏开发
作者: 凌建风 著
出版时间: 2016年版
内容简介
  本书结合《保卫萝卜2》以及多个实例详细介绍了Cocos2d-JS游戏引擎,书中共分为4个部分,开头部分为基础篇,主要介绍了Cocos引擎家族史、各平台下的环境搭建、开发工具的选用,还有引擎的核心框架、动作模块、事件机制、音频处理以及屏幕适配等;第二部分为进阶篇,例如数据存储、粒子系统、UI控件、性能优化以及游戏地图;第三部分为高级篇,主要涉及与其他语言的反射调用、Chipmunk物理引擎、网络编程以及JavaScript Binding;第四部分为实战篇,即《保卫萝卜2》实战。本书适合有一定JavaScript语法基础,并且想快速并且系统学习Cocos2d-JS游戏开发的人员阅读。
目录
第一部分 基础篇 第1 章 Cocos2d-JS 介绍 ............................. 2 1.1 Cocos2d引擎家族 ..................................... 2 1.1.1 Cocos2d 的诞生 ............................. 3 1.1.2 Cocos 引擎家族大事记 ................. 4 1.2 Cocos2d-JS介绍 ........................................ 5 1.3 引擎目录结构 ........................................... 6 1.4 小结 .......................................................... 7 1.5 参考资源 ................................................... 7 第2 章 Hello World ........................................ 8 2.1 Cocos Console ........................................... 8 2.1.1 安装Python ................................... 8 2.1.2 Android 环境配置 ........................ 10 2.2 创建、编译和运行工程 ........................... 12 2.3 HelloWorld的目录结构 ........................... 13 2.4 项目在Web和Native上的启动流程 ......... 16 2.5 项目在各平台下的打包以及部署 ............ 18 2.6 js-tests测试工程 ....................................... 22 2.7 为《保卫萝卜2》项目做准备 ................. 23 2.8 实例——利用Cocos DevTools学习Cocos2d-JS ....................................... 27 2.9 小结 ......................................................... 29 2.10 参考资源 ................................................ 29 第3 章 核心框架 ............................................ 30 3.1 导演 ......................................................... 30 3.1.1 设置帧率 ...................................... 31 3.1.2 初始化管理器 ............................... 31 3.1.3 初始化渲染器 ............................... 32 3.1.4 获取屏幕大小 .............................. 32 3.1.5 执行游戏主循环 ........................... 32 3.2 Cocos2d-JS坐标系 ................................... 33 3.3 节点 ......................................................... 34 3.3.1 基础属性 ...................................... 35 3.3.2 图形属性 ...................................... 39 3.3.3 其他属性 ...................................... 41 3.3.4 常用函数 ...................................... 43 3.4 场景 ......................................................... 47 3.4.1 再探导演——场景管理 ............... 47 3.4.2 切换特效 ...................................... 48 3.4.3 场景的生命周期 ........................... 49 3.5 层 ............................................................. 50 3.6 精灵 ......................................................... 52 3.6.1 通过图片资源创建 ....................... 52 3.6.2 通过纹理创建 .............................. 52 3.6.3 通过精灵表单创建 ....................... 53 3.6.4 创建带有颜色的精灵 ................... 53 3.7 场景树 ..................................................... 54 3.8 标签 ......................................................... 54 3.8.1 cc.LabelTTF 字体标签 .............. 54 3.8.2 cc.LabelBMFont 位图标签 ....... 56 3.8.3 cc.LabelAtlas 字符映射标签 .............................................. 57 3.8.4 使用编辑器制作FNT 字体 .......... 58 3.9 实例——《保卫萝卜2》主页面开发 ...... 61 3.9.1 主页面设计思路 ........................... 62 3.9.2 视图设定 ...................................... 63 3.9.3 代码文件架构 .............................. 63 3.9.4 主页面BackgroundLayer 开发 .... 64 3.9.5 主页面MainLayer 开发 ............... 65 3.10 小结 ....................................................... 66 3.11 参考资源 ................................................ 66 第4 章 动作模块 ............................................ 67 4.1 cc.Action .............................................. 67 4.2 瞬时动作 ................................................. 68 4.2.1 cc.Place .................................... 69 4.2.2 cc.FlipX 和cc.FlipY .............. 69 4.2.3 cc.Show 和cc.Hide .................. 69 4.2.4 cc.ToggleVisibility ............. 69 4.2.5 cc.RemoveSelf .......................... 69 4.2.6 cc.CallFun ................................ 70 4.3 持续动作 ................................................. 70 4.3.1 属性变化动作 .............................. 71 4.3.2 视觉特效动作 .............................. 73 4.3.3 复合动作 ...................................... 75 4.4 变速动作 ................................................. 76 4.4.1 cc.Speed .................................... 76 4.4.2 cc.ActionEase .......................... 77 4.5 实例——让《保卫萝卜2》的主界面动起来 ..................................................... 79 4.6 小结 ......................................................... 81 4.7 参考资源 ................................................. 81 第5 章 事件机制 ............................................ 82 5.1 事件 ......................................................... 82 5.2 事件管理器 .............................................. 83 5.2.1 添加事件监听器 .......................... 83 5.2.2 删除事件监听器 .......................... 84 5.2.3 设置事件监听器的优先级 ........... 84 5.2.4 分发事件 ...................................... 85 5.3 触摸事件 ................................................. 85 5.3.1 单点触摸 ...................................... 85 5.3.2 多点触摸 ...................................... 87 5.4 加速计事件 .............................................. 88 5.5 键盘事件 ................................................. 89 5.6 鼠标事件 ................................................. 90 5.7 自定义事件 .............................................. 91 5.8 实例——虚拟摇杆封装 ........................... 92 5.9 小结 ......................................................... 99 5.10 参考资源 ............................................... 99 第6 章 音频处理 ......................................... 100 6.1 Cocos2d-JS中的音频 ............................. 100 6.1.1 cc.audioEngine 的常用API ............................................. 100 6.1.2 各平台下支持的音频格式 ......... 101 6.2 背景音乐何时播放 ................................ 102 6.3 实例——给《保卫萝卜2》添加音频 ... 104 6.4 小结 ....................................................... 104 6.5 参考资源 ............................................... 105 第7 章 屏幕适配 ......................................... 106 7.1 屏幕适配原理 ........................................ 106 7.2 如何使用适配模式 ................................ 108 7.3 系统预设适配模式 ................................ 110 7.3.1 cc.ResolutionPolicy.SHOW_ALL .................................. 110 7.3.2 cc.ResolutionPolicy.NO_BORDER ................................ 110 7.3.3 cc.ResolutionPolicy.EXACT_FIT ................................ 111 7.3.4 cc.ResolutionPolicy.FIXED_HEIGHT .......................... 112 7.3.5 cc.ResolutionPolicy.FIXED_WIDTH ............................ 113 7.4 推荐的适配方案 .................................... 113 7.5 小结 ....................................................... 115 7.6 参考资源 ............................................... 116 第二部分 进阶篇 第8 章 数据存储 ......................................... 118 8.1 cc.sys.localStorage ...................... 118 8.2 JSON文件读取 ...................................... 119 8.3 plist文件读取 ........................................ 120 8.4 SQLite实现 ............................................ 121 8.5 实例——解锁《保卫萝卜2》的“天天向上”玩法 .................................. 121 8.6 小结 ....................................................... 126 8.7 参考资源 ............................................... 126 第9 章 粒子系统 .......................................... 127 9.1 粒子系统概述 ........................................ 127 9.2 Cocos2d-JS中的粒子系统 ...................... 128 9.3 ParticleDesigner编辑器 ......................... 133 9.4 ParticleEditor编辑器 .............................. 135 9.5 在Cocos2d-JS中使用粒子系统 .............. 136 9.6 小结 ....................................................... 137 9.7 参考资源 ................................................ 137 第10 章 UI 控件 ........................................... 138 10.1 ccui.Widget父类 .............................. 138 10.2 ccui.Text文本 .................................. 141 10.2.1 ccui.Text 字体文本 ............ 142 10.2.2 ccui.TextBMFont 位图文本 ........................................ 143 10.2.3 ccui.TextAtlas 字符映射文本................................. 144 10.3 ccui.Button按钮 .............................. 144 10.4 ccui.CheckBox复选框 ...................... 147 10.5 ccui.Slider滑块 .............................. 149 10.6 ccui.ImageView图片视图 ................ 150 10.7 ccui.LoadingBar加载条 .................. 151 10.8 ccui.TextField编辑框 .................... 152 10.9 ccui.Layout布局 .............................. 154 10.10 ccui.ScrollView滚动视图 ............ 158 10.11 ccui.PageView分页视图 ................ 161 10.12 ccui.ListView列表视图 ................ 163 10.13 实例——《保卫萝卜2》关卡选择页面的开发 ................................. 166 10.14 小结.................................................... 170 10.15 参考资源 ............................................ 170 第11 章 性能优化 ........................................ 171 11.1 对象缓冲池 .......................................... 171 11.1.1 让我们的类支持cc.pool管理 ........................................ 172 11.1.2 使用cc.pool 管理对象 ........ 173 11.2 批量渲染 .............................................. 174 11.2.1 Cocos2d-JS 中的SpriteBatchNode 类 ........... 175 11.2.2 使用SpriteBatchNode ....... 176 11.3 烘培层 ................................................. 177 11.4 SpriteSheet资源优化 ............................ 178 11.4.1 图片内存计算 ........................ 178 11.4.2 TexturePacker ......................... 179 11.4.3 图片资源压缩 ........................ 182 11.5 小结 ..................................................... 183 第12 章 游戏地图 ....................................... 184 12.1 瓦片地图原理 ...................................... 184 12.2 Tiled Map Editor简介 .......................... 185 12.3 Tiled Map Editor工作区介绍 ............... 186 12.3.1 工具栏 .................................... 186 12.3.2 地图编辑区 ............................ 186 12.3.3 迷你地图、对象、图层区 ..... 187 12.3.4 图块、地形区 ........................ 188 12.3.5 Cocos2d-JS 支持的地图类型 ........................................ 188 12.3.6 瓦片地图坐标系 ..................... 189 12.4 使用Tiled Map Editor制作一个地图 ..................................................... 189 12.4.1 新建地图 ................................ 190 12.4.2 新建图块 ................................ 190 12.4.3 新建层 .................................... 191 12.4.4 编辑地图 ................................ 191 12.5 在Cocos2d-JS中使用瓦片地图 ............ 193 12.5.1 cc.TMXTiledMap 地图对象 ........................................ 193 12.5.2 cc.TMXLayer 图层对象 ........ 195 12.5.3 cc.TMXObjectGroup对象组 .................................... 197 12.6 小结 ..................................................... 198 12.7 参考资源 .............................................. 198 第三部分 高级篇 第13 章 反射调用 ....................................... 200 13.1 反射调用概述 ...................................... 200 13.2 反射调用Objective-C........................... 201 13.3 反射调用Java ....................................... 201 13.4 小结 ..................................................... 203 13.5 参考资源 .............................................. 203 第14 章 Chipmunk 物理引擎 ................... 204 14.1 物理概念 .............................................. 204 14.1.1 刚体 ........................................ 204 14.1.2 面积 ........................................ 205 14.1.3 质量 ........................................ 205 14.1.4 密度 ........................................ 205 14.1.5 转动惯量 ................................ 205 14.1.6 弹性系数 ................................ 205 14.1.7 摩擦系数 ................................ 205 14.2 Chipmunk中的基本概念...................... 206 14.2.1 基本类型 ................................ 206 14.2.2 Chipmunk 的坐标系统 ........... 206 14.2.3 Chipmunk 中的基本数据结构 ........................................ 206 14.3 刚体 ..................................................... 208 14.3.1 动态刚体 ................................ 210 14.3.2 静态刚体 ................................ 213 14.4 形状 ..................................................... 214 14.4.1 基类cp.Shape ...................... 214 14.4.2 圆形 ........................................ 216 14.4.3 线段 ........................................ 216 14.4.4 凸多边形 ................................ 216 14.5 约束 ..................................................... 217 14.5.1 基类cp.Constraint ........... 217 14.5.2 Pin Joint ................................. 218 14.5.3 Slide Joint ............................... 218 14.5.4 Pivot Joint .............................. 218 14.5.5 Groove Joint ........................... 218 14.5.6 Damped Spring ....................... 219 14.5.7 Damped Rotary Spring ........... 219 14.5.8 Rotary Limit Joint .................. 219 14.5.9 Ratchet Joint ........................... 219 14.5.10 Gear Joint ............................. 220 14.5.11 Simple Motor ........................ 220 14.6 空间 ..................................................... 220 14.7 碰撞检测 .............................................. 222 14.7.1 空间索引 ................................ 222 14.7.2 碰撞过滤 ................................ 224 14.7.3 碰撞回调 ................................ 225 14.7.4 碰撞对 .................................... 228 14.8 查询 ..................................................... 228 14.8.1 点查询 .................................... 228 14.8.2 线段查询 ................................ 229 14.8.3 区域查询 ................................ 229 14.9 实例——拖动刚体的实现 ................... 230 14.10 小结 ................................................... 235 14.11 参考资源 ........................................... 235 第15 章 网络编程 ....................................... 236 15.1 网络编程相关概念 .............................. 236 15.2 TCP/IP参考模型 .................................. 240 15.2.1 服务端 .................................... 240 15.2.2 客户端 .................................... 240 15.2.3 通信协议 ................................ 241 15.2.4 端口 ....................................... 241 15.2.5 URI ........................................ 241 15.3 基于HTTP协议的通信 ........................ 242 15.3.1 运作方式 ................................ 242 15.3.2 XMLHttpRequest 对象 ......... 242 15.4 基于WebSocket的通信 ........................ 246 15.4.1 Cocos2d-JS 中的WebSocket ... 246 15.4.2 WebSocket 对象常用的属性和方法 .................................... 246 15.5 基于SocketIO的通信 ........................... 249 15.5.1 获取SocketIO 对象 ............... 249 15.5.2 SocketIO 的常用方法 ............ 250 15.6 实例——使用Node.js+Socket.IO实现游戏聊天系统 .............................. 250 15.6.1 Node.js、Express 框架和Socket.IO 库的安装 ................ 251 15.6.2 服务端开发 ............................ 253 15.6.3 客户端开发 ............................ 255 15.7 小结 ..................................................... 258 15.8 参考资源 ............................................. 258 第16 章 JavaScript Binding .................... 259 16.1 Cocos引擎中的脚本绑定框架 ............. 260 16.2 自动绑定 .............................................. 261 16.2.1 自动绑定简介及其限制 ......... 262 16.2.2 配置绑定环境 ......................... 262 16.3 深入探究绑定技术 ............................... 264 16.3.1 函数注册 ................................ 264 16.3.2 分析C++头文件 ..................... 267 16.3.3 绑定规则 ................................ 268 16.3.4 绑定模板 ................................ 268 16.3.5 转换函数 ................................ 269 16.4 绑定自己的C++类 ............................... 270 16.4.1 编写要绑定的C++类 ............. 270 16.4.2 生成C++类的自动绑定代码 ........................................ 271 16.5 实例——绑定SQLite3 ......................... 278 16.5.1 下载SQLite3 源代码 .............. 278 16.5.2 创建HelloSqlite 工程 ............. 278 16.5.3 生成绑定代码 ......................... 278 16.5.4 注册绑定 ................................ 279 16.5.5 集成到平台中 ......................... 279 16.5.6 测试结果 ................................ 280 16.6 小结 ..................................................... 281 16.7 参考资源 .............................................. 282 第四部分 实战篇 第17 章 《保卫萝卜2》实战 ................... 284 17.1 关卡选择场景开发 .............................. 284 17.1.1 使用瓦片地图编辑器标记关卡按钮坐标 ......................... 285 17.1.2 关卡之间的连线开发 ............. 288 17.1.3 关卡按钮特效节点开发 ......... 290 17.2 游戏管理对象GameManager的开发 ... 290 17.2.1 关卡数值配置 ........................ 291 17.2.2 GameManager 编写 ............... 292 17.2.3 弹出下一组怪物数据 ............. 298 17.3 游戏玩法场景开发 .............................. 299 17.3.1 GamePlayScene 开发 ........... 300 17.3.2 背景层GPBackground-Layer 开发 ............................ 301 17.3.3 UI 层GPUILayer 开发 .......... 302 17.3.4 菜单层GPMenuLayer 开发 ... 303 17.3.5 游戏玩法层(GPMain-Layer) ................................ 304 17.4 小结 ..................................................... 331
下载地址