dmz社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12093|回复: 234

[前端] 《HTML5 Canvas游戏开发实战》.(张路斌).[PDF]

  [复制链接]

该用户从未签到

29

主题

8020

帖子

1015

积分

终身会员[A]

Rank: 7Rank: 7Rank: 7

积分
1015

发表于 2018-6-6 00:06:54 | 显示全部楼层 |阅读模式

本站资源全部免费,回复即可查看下载地址!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
194800mdij9pibudbjxztr.jpg

介绍:
《HTML5 Canvas游戏开发实战》主要讲解使用HTML5 Canvas来开发和设计各类常见游戏的思路和技巧,在介绍HTML5 Canvas相关特性的同时,还通过游戏开发实例深入剖析了其内在原理,让读者不仅知其然,而且知其所以然。在本书中,除了介绍了HTML5 Canvas的基础API之外,还重点阐述了如何在JavaScript中运用面向对象的编程思想来进行游戏开发。
本书在介绍每个游戏开发的过程时,都会包括游戏分析、开发过程、代码解析和小结等相关内容,以帮助读者了解每种类型游戏开发的详细步骤,让读者彻底掌握各种类型游戏的开发思想。最后,还通过数据对比分析,指导读者提升程序的性能,写出高效的代码,从而开发出运行流畅的游戏。
作译者
张路斌 资深前端开发工程师和游戏开发工程师,从事Web开发和游戏开发多年,精通HTML5和Flash等技术。HTML5开源游戏引擎lufylegend.js的开发者,利用HTML5和Flash等技术独立开发了大型网页游戏アイドルバトル、Flash游戏ポイガチャ、多平台游戏三国记系列,以及数十款手机小游戏,游戏开发经验十分丰富。

目录:
《HTML5 Canvas游戏开发实战》
前  言
第一部分 准备工作篇
第1章 准备工作 / 2
1.1 HTML5介绍 / 2
1.1.1 什么是HTML5 / 2
1.1.2 HTML5的新特性 / 2
1.2 Canvas简介 / 5
1.2.1 Canvas标签的历史 / 5
1.2.2 Canvas的定义和用法 / 6
1.2.3 如何使用Canvas来绘图 / 6
1.2.4 Canvas的限制 / 7
1.3 开发与运行环境的准备 / 7
1.3.1 浏览器的支持 / 7
1.3.2 准备一个本地的服务器 / 8
1.4 开发工具的选择 / 8
1.5 测试与上传代码 / 12
1.6 JavaScript中的面向对象 / 13
1.6.1 类 / 13
1.6.2 静态类 / 16
1.6.3 继承 / 16
1.7 小结 / 17
第二部分 基础知识篇
第2章 Canvas基本功能 / 20
2.1 绘制基本图形 / 20
2.1.1 画线 / 20
2.1.2 画矩形 / 22
2.1.3 画圆 / 24
2.1.4 画圆角矩形 / 26
2.1.5 擦除Canvas画板 / 27
2.2 绘制复杂图形 / 28
2.2.1 画曲线 / 28
2.2.2 利用clip在指定区域绘图 / 30
2.2.3 绘制自定义图形 / 31
2.3 绘制文本 / 32
2.3.1 绘制文字 / 32
2.3.2 文字设置 / 33
2.3.3 文字的对齐方式 / 38
2.4 图片操作 / 41
2.4.1 利用drawImage绘制图片 / 41
2.4.2 利用getImageData和putImageData绘制图片 / 45
2.4.3 利用createImageData新建像素 / 47
2.5 小结 / 49
第3章 Canvas高级功能 / 50
3.1 变形 / 50
3.1.1 放大与缩小 / 50
3.1.2 平移 / 53
3.1.3 旋转 / 54
3.1.4 利用transform矩阵实现多样化的变形 / 56
3.2 图形的渲染 / 65
3.2.1 绘制颜色渐变效果的图形 / 65
3.2.2 颜色合成之globalCompositeOperation属性 / 67
3.2.3 颜色反转 / 69
3.2.4 灰度控制 / 70
3.2.5 阴影效果 / 71
3.3 自定义画板 / 72
3.3.1 画板的建立 / 72
3.3.2 Canvas画布的导出功能 / 79
3.4 小结 / 81
第4章 lufylegend开源库件 / 82
4.1 lufylegend库件简介 / 82
4.1.1 工作原理 / 82
4.1.2 库件使用流程 / 83
4.2 图片的加载与显示 / 84
4.2.1 图片显示举例 / 84
4.2.2 LBitmapData对象 / 86
4.2.3 LBitmap对象 / 87
4.3 层的概念 / 88
4.4 使用LGraphics对象绘图 / 90
4.4.1 绘制矩形 / 90
4.4.2 绘制圆 / 91
4.4.3 绘制任意多边形 / 92
4.4.4 使用Canvas的原始绘图函数进行绘图 / 93
4.4.5 使用LSprite对象进行绘图 / 94
4.4.6 使用LGraphics对象绘制图片 / 95
4.5 文本 / 101
4.5.1 文本属性 / 101
4.5.2 输入框 / 102
4.6 事件 / 103
4.6.1 鼠标事件 / 103
4.6.2 循环事件 / 104
4.6.3 键盘事件 / 105
4.7 按钮 / 106
4.8 动画 / 108
4.9 小结 / 113
第三部分 开发实战篇
第5章 从简单做起—“石头剪子布”游戏 / 116
5.1 游戏分析 / 116
5.2 必要的JavaScript知识 / 117
5.2.1 随机数 / 117
5.2.2 条件分支 / 117
5.3 分层实现 / 117
5.4 各个层的基本功能 / 119
5.4.1 基本画面显示 / 119
5.4.2 结果层的显示 / 126
5.4.3 控制层的显示 / 127
5.5 出拳 / 129
5.6 结果判定 / 131
5.7 小结 / 137
第6章 开发“俄罗斯方块”游戏 / 138
6.1 游戏分析 / 138
6.2 必要的JavaScript知识 / 138
6.3 游戏标题画面显示 / 139
6.4 向游戏里添加方块 / 141
6.5 控制方块的移动 / 152
6.5.1 键盘事件 / 152
6.5.2 触屏事件 / 155
6.6 方块的消除和得分的显示 / 157
6.7 小结 / 160
第7章 开发“是男人就下一百层”游戏 / 161
7.1 游戏分析 / 161
7.2 游戏标题画面显示 / 161
7.3 读取图片与背景显示 / 162
7.4 添加一个静止的地板 / 167
7.5 添加游戏主角 / 170
7.5.1 让游戏主角出现在画面上 / 170
7.5.2 通过键盘事件来控制游戏主角的移动 / 177
7.5.3 通过触屏事件来控制游戏主角的移动 / 178
7.6 添加多种多样的地板 / 179
7.6.1 会消失的地板 / 179
7.6.2 带刺的地板 / 181
7.6.3 带有弹性的地板 / 182
7.6.4 向左和向右移动的地板 / 184
7.7 游戏数据的显示 / 187
7.8 游戏结束与重开 / 190
7.9 小结 / 192
第8章 开发射击类游戏 / 193
8.1 游戏分析 / 193
8.2 添加一架可控飞机 / 194
8.2.1 添加一个飞机类 / 194
8.2.2 可控飞机类 / 197
8.3 为飞机添加多样化的子弹 / 203
8.3.1 建立一个子弹类 / 203
8.3.2 单发子弹 / 205
8.3.3 多发子弹 / 207
8.3.4 环形子弹 / 208
8.3.5 反向子弹 / 209
8.4 添加敌机 / 209
8.4.1 建立一个敌机类 / 210
8.4.2 建立一个敌机Boss类 / 214
8.5 碰撞检测 / 217
8.5.1 飞机与子弹的碰撞 / 217
8.5.2 我机与敌机的碰撞 / 220
8.6 子弹的变更 / 221
8.6.1 建立一个弹药类 / 222
8.6.2 弹药与我机的碰撞 / 223
8.7 飞机生命值的显示 / 225
8.8 游戏胜利与失败判定 / 226
8.9 小结 / 228
第9章 开发物理游戏 / 229
9.1 Box2D简介 / 229
9.2 Box2dWeb在lufylegend库件中的使用 / 229
9.3 创建各种各样的物体 / 234
9.3.1 矩形物体 / 234
9.3.2 圆形物体 / 237
9.3.3 多边形物体 / 239
9.4 响应鼠标拖拽物体 / 242
9.5 关节(Joint) / 243
9.5.1 距离关节(b2DistanceJointDef) / 243
9.5.2 旋转关节(b2RevoluteJointDef) / 245
9.5.3 滑轮关节(b2PulleyJointDef) / 247
9.5.4 移动关节(b2PrismaticJoint) / 248
9.5.5 齿轮关节(b2GearJoint) / 250
9.5.6 悬挂关节(b2LineJoint) / 252
9.5.7 焊接关节(b2WeldJoint) / 253
9.5.8 鼠标关节(Mouse Joint) / 254
9.6 力 / 254
9.7 碰撞检测 / 256
9.8 镜头移动 / 260
9.9 做一个简单的物理游戏 / 263
9.10 小结 / 267
第10章 开发网络游戏 / 268
10.1 HTTP通信 / 268
10.1.1 如何实现HTTP通信 / 268
10.1.2 HTTP通信的弊端 / 275
10.2 Socket通信 / 275
10.2.1 区分Socket通信和HTTP通信 / 276
10.2.2 服务器端 / 276
10.2.3 客户端 / 281
10.3 利用WebSocket实现简单的聊天室 / 283
10.4 做一款多人在线的坦克大战 / 293
10.4.1 服务器 / 293
10.4.2 客户端 / 293
10.5 小结 / 307
第四部分 技能提高篇
第11章 提高效率的分析 / 310
11.1 绘图时使用小数的影响 / 310
11.2 drawImage和putImageData的效率比较 / 311
11.3 区域更新和图片大小对绘图效率的影响 / 311
11.4 图片格式对绘图效率的影响 / 313
11.5 优化代码以提高整体效率 / 314
11.5.1 使用位运算 / 314
11.5.2 少用Math静态类 / 316
11.5.3 优化算法 / 319
11.6 小结 / 322
游客,如果您要查看本帖隐藏内容请回复

温馨提示:
1、本站所有内容均为互联网收集或网友分享或网络购买,本站不破解、不翻录任何视频!
2、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意!
3、本站资源仅供本站会员学习参考,不得传播及用于其他用途,学习完后请在24小时内自行删除.
4、本站资源质量虽均经精心审查,但也难保万无一失,若发现资源有问题影响学习请一定及时点此进行问题反馈,我们会第一时间改正!
5、若发现链接失效了请联系管理员,管理员会在2小时内修复
6、如果有任何疑问,请加客服QQ:1300822626 2小时内回复你!
回复

使用道具 举报

该用户从未签到

26

主题

7770

帖子

1037

积分

终身会员[A]

Rank: 7Rank: 7Rank: 7

积分
1037

发表于 2018-9-8 12:46:24 | 显示全部楼层
正需要,支持楼主大人了!

该用户从未签到

43

主题

7840

帖子

956

积分

终身会员[A]

Rank: 7Rank: 7Rank: 7

积分
956

发表于 2018-9-8 19:11:08 | 显示全部楼层
过来看看的

该用户从未签到

22

主题

7842

帖子

1075

积分

终身会员[A]

Rank: 7Rank: 7Rank: 7

积分
1075

发表于 2018-9-11 06:25:25 | 显示全部楼层
正需要,支持楼主大人了!

该用户从未签到

20

主题

7658

帖子

937

积分

终身会员[A]

Rank: 7Rank: 7Rank: 7

积分
937

发表于 2018-9-11 23:27:37 | 显示全部楼层
过来看看的

该用户从未签到

26

主题

7770

帖子

1037

积分

终身会员[A]

Rank: 7Rank: 7Rank: 7

积分
1037

发表于 2018-9-12 17:31:33 | 显示全部楼层
路过,学习下

该用户从未签到

34

主题

7943

帖子

1037

积分

终身会员[A]

Rank: 7Rank: 7Rank: 7

积分
1037

发表于 2018-9-13 21:33:08 | 显示全部楼层
相当不错,感谢无私分享精神!

该用户从未签到

94

主题

8057

帖子

1006

积分

终身会员[A]

Rank: 7Rank: 7Rank: 7

积分
1006

发表于 2018-9-14 09:44:08 | 显示全部楼层
小手一抖,钱钱到手!

该用户从未签到

9

主题

7836

帖子

924

积分

技冠群雄

Rank: 6Rank: 6

积分
924

发表于 2018-9-17 15:14:48 | 显示全部楼层
正需要,支持楼主大人了!

该用户从未签到

23

主题

8155

帖子

1052

积分

荣誉会员

积分
1052

发表于 2018-9-17 20:00:41 | 显示全部楼层
我是来刷分的,嘿嘿
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|本站代理|dmz社区

GMT+8, 2024-4-18 12:48 , Processed in 0.100971 second(s), 43 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表