
内容提要
《cocos2d js游戏开发》结合保护萝卜2以及多个实例详细介绍了Cocos2d-js游戏引擎,书中共分为4个部分,第一部分为基础篇,主要介绍了Cocos引擎家族史、各平台下的环境搭建、开发工具的选用,还有引擎的核心框架、动作模块、事件机制、音频处理以及屏幕适配等,第二部分为进阶篇,内容包括数据储存、粒子系统、UI控件、性能优化以及游戏地图;第三部分分为高级篇,主要涉及其他语言的反射调用、Chipmunk物理引擎、网络编程以及JavaScript Binding;第四部分为实战篇,即保卫萝卜2实战。
cocos2d js游戏开发章节目录
第一部分 基础篇第1章 Cocos2d-JS介绍 21.1 Cocos2d引擎家族 21.1.1 Cocos2d的诞生 31.1.2 Cocos引擎家族大事记 41.2 Cocos2d-JS介绍 51.3 引擎目录结构 61.4 小结 71.5 参考资源 7第2章 Hello World 82.1 Cocos Console 82.1.1 安装Python 82.1.2 Android环境配置 102.2 创建、编译和运行工程 122.3 HelloWorld的目录结构 132.4 项目在Web和Native上的启动流程 162.5 项目在各平台下的打包以及部署 182.6 js-tests测试工程 222.7 为《保卫萝卜2》项目做准备 232.8 实例——利用Cocos DevTools 学习Cocos2d-JS 272.9 小结 292.10 参考资源 29第3章 核心框架 303.1 导演 303.1.1 设置帧率 313.1.2 初始化管理器 313.1.3 初始化渲染器 323.1.4 获取屏幕大小 323.1.5 执行游戏主循环 323.2 Cocos2d-JS坐标系 333.3 节点 343.3.1 基础属性 353.3.2 图形属性 393.3.3 其他属性 413.3.4 常用函数 433.4 场景 473.4.1 再探导演——场景管理 473.4.2 切换特效 483.4.3 场景的生命周期 493.5 层 503.6 精灵 523.6.1 通过图片资源创建 523.6.2 通过纹理创建 523.6.3 通过精灵表单创建 533.6.4 创建带有颜色的精灵 533.7 场景树 543.8 标签 543.8.1 cc.LabelTTF字体标签 543.8.2 cc.LabelBMFont位图标签 563.8.3 cc.LabelAtlas字符映射标签 573.8.4 使用编辑器制作FNT字体 583.9 实例——《保卫萝卜2》主页面开发 613.9.1 主页面设计思路 623.9.2 视图设定 633.9.3 代码文件架构 633.9.4 主页面BackgroundLayer开发 643.9.5 主页面MainLayer开发 653.10 小结 663.11 参考资源 66第4章 动作模块 674.1 cc.Action 674.2 瞬时动作 684.2.1 cc.Place 694.2.2 cc.FlipX和cc.FlipY 694.2.3 cc.Show和cc.Hide 694.2.4 cc.ToggleVisibility 694.2.5 cc.RemoveSelf 694.2.6 cc.CallFun 704.3 持续动作 704.3.1 属性变化动作 714.3.2 视觉特效动作 734.3.3 复合动作 754.4 变速动作 764.4.1 cc.Speed 764.4.2 cc.ActionEase 774.5 实例——让《保卫萝卜2》的主界面动起来 794.6 小结 814.7 参考资源 81第5章 事件机制 825.1 事件 825.2 事件管理器 835.2.1 添加事件监听器 835.2.2 删除事件监听器 845.2.3 设置事件监听器的优先级 845.2.4 分发事件 855.3 触摸事件 855.3.1 单点触摸 855.3.2 多点触摸 875.4 加速计事件 885.5 键盘事件 895.6 鼠标事件 905.7 自定义事件 915.8 实例——虚拟摇杆封装 925.9 小结 995.10 参考资源 99第6章 音频处理 1006.1 Cocos2d-JS中的音频 1006.1.1 cc.audioEngine的常用API 1006.1.2 各平台下支持的音频格式 1016.2 背景音乐何时播放 1026.3 实例——给《保卫萝卜2》添加音频 1046.4 小结 1046.5 参考资源 105第7章 屏幕适配 1067.1 屏幕适配原理 1067.2 如何使用适配模式 1087.3 系统预设适配模式 1107.3.1 cc.ResolutionPolicy.SHOW_ALL 1107.3.2 cc.ResolutionPolicy.NO_BORDER 1107.3.3 cc.ResolutionPolicy.EXACT_FIT 1117.3.4 cc.ResolutionPolicy.FIXED_HEIGHT 1127.3.5 cc.ResolutionPolicy.FIXED_WIDTH 1137.4 推荐的适配方案 1137.5 小结 1157.6 参考资源 116第二部分 进阶篇第8章 数据存储 1188.1 cc.sys.localStorage 1188.2 JSON文件读取 1198.3 plist文件读取 1208.4 SQLite实现 1218.5 实例——解锁《保卫萝卜2》的“天天向上”玩法 1218.6 小结 1268.7 参考资源 126第9章 粒子系统 1279.1 粒子系统概述 1279.2 Cocos2d-JS中的粒子系统 1289.3 ParticleDesigner编辑器 1339.4 ParticleEditor编辑器 1359.5 在Cocos2d-JS中使用粒子系统 1369.6 小结 1379.7 参考资源 137第10章 UI控件 13810.1 ccui.Widget父类 13810.2 ccui.Text文本 14110.2.1 ccui.Text字体文本 14210.2.2 ccui.TextBMFont位图文本 14310.2.3 ccui.TextAtlas字符映射文本 14410.3 ccui.Button按钮 14410.4 ccui.CheckBox复选框 14710.5 ccui.Slider滑块 14910.6 ccui.ImageView图片视图 15010.7 ccui.LoadingBar加载条 15110.8 ccui.TextField编辑框 15210.9 ccui.Layout布局 15410.10 ccui.ScrollView滚动视图 15810.11 ccui.PageView分页视图 16110.12 ccui.ListView列表视图 16310.13 实例——《保卫萝卜2》关卡选择页面的开发 16610.14 小结 17010.15 参考资源 170第11章 性能优化 17111.1 对象缓冲池 17111.1.1 让知识兔的类支持cc.pool管理 17211.1.2 使用cc.pool管理对象 17311.2 批量渲染 17411.2.1 Cocos2d-JS中的SpriteBatchNode类 17511.2.2 使用SpriteBatchNode 17611.3 烘培层 17711.4 SpriteSheet资源优化 17811.4.1 图片内存计算 17811.4.2 TexturePacker 17911.4.3 图片资源压缩 18211.5 小结 183第12章 游戏地图 18412.1 瓦片地图原理 18412.2 Tiled Map Editor简介 18512.3 Tiled Map Editor工作区介绍 18612.3.1 工具栏 18612.3.2 地图编辑区 18612.3.3 迷你地图、对象、图层区 18712.3.4 图块、地形区 18812.3.5 Cocos2d-JS支持的地图类型 18812.3.6 瓦片地图坐标系 18912.4 使用Tiled Map Editor制作一个地图 18912.4.1 新建地图 19012.4.2 新建图块 19012.4.3 新建层 19112.4.4 编辑地图 19112.5 在Cocos2d-JS中使用瓦片地图 19312.5.1 cc.TMXTiledMap地图对象 19312.5.2 cc.TMXLayer图层对象 19512.5.3 cc.TMXObjectGroup对象组 19712.6 小结 19812.7 参考资源 198第三部分 高级篇第13章 反射调用 20013.1 反射调用概述 20013.2 反射调用Objective-C 20113.3 反射调用Java 20113.4 小结 20313.5 参考资源 203第14章 Chipmunk物理引擎 20414.1 物理概念 20414.1.1 刚体 20414.1.2 面积 20514.1.3 质量 20514.1.4 密度 20514.1.5 转动惯量 20514.1.6 弹性系数 20514.1.7 摩擦系数 20514.2 Chipmunk中的基本概念 20614.2.1 基本类型 20614.2.2 Chipmunk的坐标系统 20614.2.3 Chipmunk中的基本数据结构 20614.3 刚体 20814.3.1 动态刚体 21014.3.2 静态刚体 21314.4 形状 21414.4.1 基类cp.Shape 21414.4.2 圆形 21614.4.3 线段 21614.4.4 凸多边形 21614.5 约束 21714.5.1 基类cp.Constraint 21714.5.2 Pin Joint 21814.5.3 Slide Joint 21814.5.4 Pivot Joint 21814.5.5 Groove Joint 21814.5.6 Damped Spring 21914.5.7 Damped Rotary Spring 21914.5.8 Rotary Limit Joint 21914.5.9 Ratchet Joint 21914.5.10 Gear Joint 22014.5.11 Simple Motor 22014.6 空间 22014.7 碰撞检测 22214.7.1 空间索引 22214.7.2 碰撞过滤 22414.7.3 碰撞回调 22514.7.4 碰撞对 22814.8 查询 22814.8.1 点查询 22814.8.2 线段查询 22914.8.3 区域查询 22914.9 实例——拖动刚体的实现 23014.10 小结 23514.11 参考资源 235第15章 网络编程 23615.1 网络编程相关概念 23615.2 TCP/IP参考模型 24015.2.1 服务端 24015.2.2 客户端 24015.2.3 通信协议 24115.2.4 端口 24115.2.5 URI 24115.3 基于HTTP协议的通信 24215.3.1 运作方式 24215.3.2 XMLHttpRequest对象 24215.4 基于WebSocket的通信 24615.4.1 Cocos2d-JS中的WebSocket 24615.4.2 WebSocket对象常用的属性和方法 24615.5 基于SocketIO的通信 24915.5.1 获取SocketIO对象 24915.5.2 SocketIO的常用方法 25015.6 实例——使用Node.js+Socket.IO实现游戏聊天系统 25015.6.1 Node.js、Express框架和Socket.IO库的安装 25115.6.2 服务端开发 25315.6.3 客户端开发 25515.7 小结 25815.8 参考资源 258第16章 JavaScript Binding 25916.1 Cocos引擎中的脚本绑定框架 26016.2 自动绑定 26116.2.1 自动绑定简介及其限制 26216.2.2 配置绑定环境 26216.3 深入探究绑定技术 26416.3.1 函数注册 26416.3.2 分析C++头文件 26716.3.3 绑定规则 26816.3.4 绑定模板 26816.3.5 转换函数 26916.4 绑定自己的C++类 27016.4.1 编写要绑定的C++类 27016.4.2 生成C++类的自动绑定代码 27116.5 实例——绑定SQLite3 27816.5.1 下载SQLite3源代码 27816.5.2 创建HelloSqlite工程 27816.5.3 生成绑定代码 27816.5.4 注册绑定 27916.5.5 集成到平台中 27916.5.6 测试结果 28016.6 小结 28116.7 参考资源 282第四部分 实战篇第17章 《保卫萝卜2》实战 28417.1 关卡选择场景开发 28417.1.1 使用瓦片地图编辑器标记关卡按钮坐标 28517.1.2 关卡之间的连线开发 28817.1.3 关卡按钮特效节点开发 29017.2 游戏管理对象GameManager的开发 29017.2.1 关卡数值配置 29117.2.2 GameManager编写 29217.2.3 弹出下一组怪物数据 29817.3 游戏玩法场景开发 29917.3.1 GamePlayScene开发 30017.3.2 背景层GPBackground-Layer开发 30117.3.3 UI层GPUILayer开发 30217.3.4 菜单层GPMenuLayer开发 30317.3.5 游戏玩法层(GPMain-Layer) 30417.4 小结 331
使用说明
1、下载并解压,得出pdf文件2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读>
下载仅供下载体验和测试学习,不得商用和正当使用。
下载体验