第1章 初识LayaBox
1.1 关于HTML5游戏 2
1.2 LayaBox简介 3
1.3 搭建工作环境 4
1.3.1 Chrome浏览器的下载和安装 4
1.3.2 腾讯COS 5
1.3.3 LayaAir IDE 2.0的下载和使用 8
1.3.4 微信开发者工具的下载和使用 17
1.4 小结 20
第2章 第一个2D游戏
2.1 游戏需求 21
2.2 新建项目 22
2.3 Stage、Sprite、Graphics 27
2.4 美术资源的准备 36
2.4.1 单张图片资源 36
2.4.2 图集资源 37
2.5 加载和使用美术资源 39
2.5.1 单张图片资源的加载和使用 39
2.5.2 图集资源的加载和使用 40
2.6 添加文字 45
2.7 添加鼠标响应事件 46
2.8 物体的移动 49
2.9 添加或删除物体 52
2.10 小结 53
第3章 模块化的游戏开发
3.1 对象和单例 55
3.1.1 面向对象编程 55
3.1.2 单例模式 59
3.2 重构2D射箭游戏 60
3.2.1 划分场景 61
3.2.2 创建场景 62
3.2.3 编辑场景 63
3.2.4 实现场景切换 69
3.2.5 预制体 72
3.2.6 预制体操纵:弓的操纵 75
3.2.7 预制体操纵:箭的操纵 80
3.2.8 预制体操纵:气球的操纵 85
3.3 坐标系与物体的旋转 89
3.4 添加音效 90
3.5 点的碰撞 90
3.6 中心化的游戏管理 92
3.7 自定义事件 93
3.8 JSON数据详解 95
3.9 LocalStorage数据存储 95
3.10 小结 97
第4章 屏幕适配
4.1 屏幕适配原理 99
4.2 屏幕适配模式 103
4.3 自动横屏与横屏游戏 109
4.4 对齐模式 112
4.5 屏幕物理分辨率适配 114
4.6 小结 115
第5章 高级位图操作
5.1 滤镜 116
5.1.1 颜色滤镜 120
5.1.2 发光(或阴影)滤镜 125
5.1.3 模糊滤镜 125
5.1.4 滤镜组合 126
5.2 遮罩 128
5.2.1 简单的遮罩 128
5.2.2 一个CD按钮示例 131
5.3 小结 136
第6章 UI可视化编辑
6.1 常用的UI组件 137
6.1.1 基础组件命名规则 139
6.1.2 文本组件 140
6.1.3 Image组件 143
6.1.4 Clip组件 146
6.1.5 FontClip组件 148
6.1.6 按钮组件 149
6.1.7 单选按钮与单选按钮组 151
6.1.8 复选框组件 153
6.1.9 进度条组件 155
6.1.10 滑动条组件 156
6.2 列表 158
6.3 对话框 164
6.4 综合实例:拉霸机 167
6.4.1 设计和功能划分 167
6.4.2 具体实现 168
6.5 小结 178
第7章 动画基础
7.1 序列帧动画 179
7.1.1 序列帧概述 180
7.1.2 序列帧的可视化编辑 181
7.1.3 自定义关键帧 184
7.1.4 Animation组件 187
7.1.5 角色动作的控制 189
7.2 缓动动画 197
7.2.1 缓动动画概述 197
7.2.2 Tween缓动实例 197
7.2.3 Ease缓动类型 203
7.3 小结 205
第8章 物理引擎
8.1 点与多边形的碰撞检测 206
8.1.1 点与直线的位置关系 206
8.1.2 点与多边形的碰撞检测 208
8.1.3 直线与多边形的碰撞检测 211
8.2 Box2D物理引擎 214
8.3 Box2D物理引擎的关节系统 232
8.3.1 距离关节和鼠标关节 233
8.3.2 绳索关节 235
8.3.3 焊接关节 236
8.3.4 滑轮关节 237
8.3.5 车轮关节 239
8.3.6 平移关节 240
8.3.7 旋转关节 243
8.3.8 齿轮关节 245
8.3.9 马达关节 246
8.4 小结 248
第9章 LayaCloud
9.1 联网游戏与帧同步 249
9.1.1 实时游戏的主要分类 250
9.1.2 帧同步的挑战 251
9.2 LayaCloud功能简介 252
9.3 LayaCloud的工作方式 253
9.3.1 LayaCloud客户端 254
9.3.2 LayaCloud项目服务器 255
9.3.3 以匹配模式进行帧同步 257
9.4 LayaCloud帧同步案例 259
9.4.1 项目准备 261
9.4.2 场景准备 261
9.4.3 实现登录服务器 264
9.4.4 实现玩家匹配 270
9.4.5 帧同步准备 275
9.4.6 实现帧同步 279
9.5 小结 295
第10章 用LayaBox开发微信小游戏
10.1 微信小游戏开发基础 296
10.2 获取用户授权信息 297
10.3 微信小游戏的转发与分享 298
10.4 实践微信小游戏的分享功能 300
10.5 微信关系链数据概述 304
10.6 使用微信关系链数据制作排行榜 306
10.7 微信小游戏bin目录的快速调试 325
10.8 微信小游戏的上线准备 326
10.9 小结 327
第11章 项目开发与管理
11.1 LayaBox的新起点 328
11.2 开发3D游戏需要了解的内容 328
11.3 Scrum开发流程控制管理和游戏开发 329
11.3.1 浅谈Scrum 329
11.3.2 Scrum游戏项目管理 330
11.4 关于游戏设计 335
11.5 小结 335
附录A JavaScript编程基础
A.1 概述 336
A.2 调试信息 338
A.3 关键词与保留字 339
A.4 数据类型 340
A.5 变量作用域 342
A.6 数组 342
A.7 方法 343
A.8 对象 345
A.9 类 346