资源名称:HTML5游戏开发进阶指南

内容简介:

本书介绍了HTML5 游戏开发的一般过程和技巧。全书共分12 章,第1 章介绍了本书相关的HTML5的诸多新特性,包括在canvas 上绘图、播放声音等,另外还引入了子画面页的概念;第2~4 章利用Box2D物理引擎开发了一款非常类似于《愤怒的小鸟》的游戏,全面介绍了物理引擎的概念,以及在游戏中使用物理引擎的方法,这一部分还引入了视差滚动技巧,以实现某种伪3D 效果;第5~10 章开发了一款简化版的《红色警戒》游戏,这一部分涉及了相当多的内容,包括地图的制作,建筑与单位的设定、绘制,玩家与单位的互动,触发器与剧情的编写,路径规划算法等;第11、12 章利用nodeJS 和WebSocket 开发了《红色警戒》游戏的多人对战模式,这一部分的主要问题是保持游戏在多个玩家的浏览器中的状态一致。

对于熟悉前端开发,想用前端技术做一些更酷的事情,却又不知如何下手的人,这是一本可多得的好书。

资源目录:

第1章 HTML5与Javascript概要1

1.1 canvas元素2

1.1.1 绘制矩形3

1.1.2 绘制复杂形状或路径5

1.1.3 绘制文本7

1.1.4 自定义画笔样式(颜色和纹理)8

1.1.5 绘制图像9

1.1.6 平移和旋转10

1.2 audio元素11

1.3 image元素14

1.3.1 图像加载15

1.3.2 子画面页(精灵图)15

1.4 动画:计时器和游戏循环17

1.4.1 requestAnimationFrame18

1.5 小结20

第2章 创建基本的游戏世界21

2.1 基本HTML布局21

2.2 创建启动画面和主菜单22

2.3 关卡选择26

2.4 加载图像29

2.5 加载关卡33

2.6 动画34

2.7 处理鼠标输入37

2.8 设置游戏阶段39

2.9 小结42

第3章 物理引擎基础43

3.1 Box2D基础43

3.1.1 引入Box2D44

3.1.2 定义World变量45

3.1.3 添加第一个物体:地面46

3.1.4 绘制世界:调试绘图模式48

3.1.5 动画50

3.2 更多的Box2D元素52

3.2.1 创建矩形物体52

3.2.2 创建圆形物体54

3.2.3 创建多边形物体56

3.2.4 创建多种形状的复杂物体58

3.2.5 连接物体的接合点61

3.3 追踪碰撞与破坏64

3.3.1 接触监听器65

3.4 绘制角色68

3.5 小结71

第4章 物理引擎集成72

4.1 定义物体72

4.2 添加Box2D75

4.3 创建物体78

4.4 向关卡加入物体79

4.5 设置Box2D调试绘图82

4.6 绘制物体84

4.7 Box2D动画86

4.8 加载英雄88

4.9 发射英雄91

4.10 结束关卡94

4.11 碰撞损坏96

4.12 绘制弹弓橡胶带99

4.13 切换关卡101

4.14 添加声音103

4.14.1 添加断裂和反弹的音效104

4.14.2 添加背景音乐107

4.15 小结110

第5章 创建即时战略游戏世界111

5.1 基本HTML布局112

5.2 创建启动画面和主菜单112

5.3 地图与关卡118

5.4 加载任务简介画面120

5.5 制作游戏界面124

5.6 实现地图平移131

5.7 小结137

第6章 加入单位138

6.1 定义单位138

6.2 第一个物体:主基地139

6.3 为关卡添加单位143

6.4 绘制单位147

6.5 添加星港150

6.6 添加炼油厂154

6.7 添加炮塔157

6.8 添加车辆160

6.9 添加飞行器165

6.10 添加地形170

6.11 选中游戏单位175

6.12 强调选中的单位178

6.13 小结183

第7章 单位智能移动184

7.1 命令单位184

7.2 发送和接收命令186

7.3 执行指令188

7.4 实现飞行器移动189

7.5 路径规划195

7.6 定义寻径格网196

7.7 实现车辆移动203

7.8 碰撞检测和导航207

7.9 将采油车展开为炼油厂214

7.10 流畅移动215

7.11 小结219

第8章 添加更多的游戏元素220

8.1 实现基本的经济系统220

8.1.1 设置启动资金220

8.1.2 实现侧边栏223

8.1.3 获取资金225

8.2 购买建筑和单位226

8.2.1 添加侧边栏按钮226

8.2.2 启用与禁用侧边栏按钮229

8.2.3 在星港建造车辆和飞行器232

8.2.4 从基地建造建筑241

8.3 结束关卡249

8.3.1 实现消息对话框250

8.3.2 实现触发器254

8.4 小结259

第9章 添加武器和战斗261

9.1 实现战斗系统261

9.1.1 添加炮弹261

9.1.2 炮塔的战斗指令269

9.1.3 飞行器的战斗指令274

9.1.4 车辆的战斗指令279

9.2 创建智能的敌人284

9.3 添加战争迷雾287

9.3.1 定义迷雾对象287

9.3.2 绘制迷雾290

9.3.3 禁止在迷雾上建造建筑293

9.4 小结295

第10章 完成单人战役296

10.1 添加音效296

10.1.1 创建音效296

10.1.2 命令确认音效298

10.1.3 消息提示音301

10.1.4 战斗音效302

10.2 创建单人战役303

10.2.1 救援303

10.2.2 袭击312

10.2.3 抵抗围攻318

10.3 小结329

第11章 WebSocket与多人对战模式331

11.1 使用Node.js操作WebSocket API331

11.1.1 浏览器端的WebSocket331

11.1.2 使用Node.js创建HTTP服务器334

11.1.3 创建WebSocket服务器336

11.2 创建多人对战游戏大厅339

11.2.1 定义多人对战大厅界面339

11.2.2 游戏房间列表341

11.2.3 进入和离开房间345

11.3 启动多人对战游戏351

11.3.1 定义多人对战关卡351

11.3.2 加载多人战役关卡354

11.4 小结359

第12章 多人对战游戏操作360

12.1 同步网络模型360

12.1.1 测量网络传输时间361

12.1.2 发送命令365

12.2 结束多人对战370

12.2.1 玩家被击败时结束游戏370

12.2.2 玩家断开连接时结束游戏375

12.2.3 玩家丢失连接时结束游戏376

12.3 实现玩家聊天378

12.4 小结382

索引384

资源截图:

HTML5游戏开发进阶指南