手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

HTML 5 Canvas游戏开发实战 PDF清晰扫描版+源代码

[日期:2018-01-31] 来源:Linux社区  作者:Linux [字体: ]

《HTML 5 Canvas游戏开发实战》主要讲解使用HTML5 Canvas来开发和设计各类常见游戏的思路和技巧,在介绍HTML5 Canvas相关特性的同时,还通过游戏开发实例深入剖析了其内在原理,让读者不仅知其然,而且知其所以然。在书中,除了介绍了HTML5 Canvas的基础API之外,还重点阐述了如何在JavaScript中运用面向对象的编程思想来进行游戏开发。

《HTML5 Canvas游戏开发实战》在介绍每个游戏开发的过程时,都会包括游戏分析、开发过程、代码解析和小结等相关内容,以帮助读者了解每种类型游戏开发的详细步骤,让读者彻底掌握各种类型游戏的开发思想。最后,还通过数据对比分析,指导读者提升程序的性能,写出高效的代码,从而开发出运行流畅的游戏。

《HTML 5 Canvas游戏开发实战》系统讲解HTML 5 Canvas的基础知识和高级技巧,深入剖析开源库件lufylegend的原理与使用;以实例为向导,详细讲解射击游戏、物理游戏、网络游戏、页面游戏等各类游戏的开发思路和技巧。

HTML 5 Canvas游戏开发实战 PDF清晰扫描版+源代码

目录

前言
第一部分准备工作篇
第1章准备工作2
1.1HTML5介绍2
1.1.1什么是HTML52
1.1.2HTML5的新特性2
1.2Canvas简介5
1.2.1Canvas标签的历史5
1.2.2Canvas的定义和用法6
1.2.3如何使用Canvas来绘图6
1.2.4Canvas的限制7
1.3开发与运行环境的准备7
1.3.1浏览器的支持7
1.3.2准备一个本地的服务器8
1.4开发工具的选择8
1.5测试与上传代码12
1.6JavaScript中的面向对象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.2Canvas画布的导出功能79
3.4小结81
第4章lufylegend开源库件82
4.1lufylegend库件简介82
4.1.1工作原理82
4.1.2库件使用流程83
4.2图片的加载与显示84
4.2.1图片显示举例84
4.2.2LBitmapData对象86
4.2.3LBitmap对象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.1Box2D简介229
9.2Box2dWeb在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鼠标关节(MouseJoint)254
9.6力254
9.7碰撞检测256
9.8镜头移动260
9.9做一个简单的物理游戏263
9.10小结267
第10章开发网络游戏268
10.1HTTP通信268
10.1.1如何实现HTTP通信268
10.1.2HTTP通信的弊端275
10.2Socket通信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.2drawImage和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

序言

前言

为什么要写这本书

并非计算机专业的我,却最终走上了编程之路,并写了这样一本书,为什么呢?其实一切都是因为和游戏结了缘。

小时候我非常喜欢玩游戏,为了玩游戏和小伙伴们干过不少调皮捣蛋的事情。初中为了得到自己的第一台游戏机,和父亲打赌,破天荒拿了全班第一名。当然有了游戏机的相伴,从那以后就再也没有拿过第一名了。因为数学上较有优势,所以读大学时选择的是数学专业,没有选读计算机让后来做开发的我多少感到有些遗憾。和其他人一样,大学是真正改变我人生的时期,第一次有了电脑,第一次从室友嘴里得知QQ为何物(这个大土包子),第一次接触了网游(还是大土包子),那时候非常痴迷于光荣公司的《三国志英杰传》和《三国志曹操传》,并且通过学习,试着制作了我人生中的第一款游戏《杨家将传奇》,在同类游戏中小有名气。如果你也喜欢玩《三国志曹操传》的MOD,也经历过2003年到2007年那段《三国志曹操传》MOD最鼎盛的时期,那么你也许会认识我,那时候我有个网名叫“回眸75度”。那时候制作的游戏因为不涉及编程,所以还不能叫做开发。大学毕业后,我开始思考自己未来的路,虽然没有任何编程基础,但是因大学时期游戏的制作,令我坚信游戏开发是我向往的职业。也是因为喜欢日本的游戏,最终来到了日本做软件开发,虽然并非全职的游戏开发者,但是我一直都在关注并学习着游戏的开发,不曾间断,一直至今。

我是一个喜欢不断学习新知识的人,所以当HTML5作为一个新技术出现的时候,我没有理由不去了解它。由于对JavaScript有一定的基础,所以我在学习HTML5的Canvas时,上手非常快。出于对ActionScript的喜爱,我一开始便试着在JavaScript中模仿ActionScript的API来做开发,并且在博客上发表了《用仿ActionScript的语法来编写HTML5》系列文章,这便是最初的lufylegend开源库件的构建过程。当我把自己研究的类库整合到一起后,发现它使用起来十分方便,使用它来开发游戏可以节约大量的开发时间,于是我将其分享到了网上供大家免费使用,希望可以给相关开发者提供便利。

我刚开始接触HTML5是在2011年,那时候正是HTML5炒得最火的时候,网上到处都是关于HTML5替代Flash的言论。我从来不认为Flash会因为HTML5而消失,但是我相信HTML5代表着互联网未来发展的方向。虽然HTML5并不像传言那样“一次编写,到处运行”,但是你只需要略加修改和调整就能让你的应用适用于另一个平台。

网页游戏有着不可替代的优势,而HTML5无疑是未来网页游戏的首选技术之一,特别是在移动领域HTML5是唯一的工具,至少现在它是你唯一的选择。虽然HTML5还很年轻,还有很多不成熟的地方,但是它正在不断地完善,相信它不会让我们等太久。所以学习这门新技术非常有必要。我非常希望能将自己的学习心得分享给大家,因此写了这本书,希望这本书能够将你带入HTML5的游戏世界里。

读者对象

本书主要适合于以下读者:

对HTML5开发感兴趣的人。本书对HTML5 Canvas进行了详细的介绍,想要学习HTML5开发的话绝对值得一看。

对游戏开发感兴趣的人。本书介绍了多个游戏实例的开发,在如何构建游戏方面对游戏开发人员来说有一定的借鉴作用。

Flash开发者。由于JavaScript和ActionScript具有一定的相似性,本书会模仿ActionScript的语法来进行游戏的构建和开发,如果你是一个Flash开发者,那么我相信本书会带你快速进入HTML5的世界。

如何阅读本书

本书从认识HTML5和JavaScript的面向对象开始展开,如果你从来没有接触过HTML5开发,那么请从第1章准备工作开始学习;如果你对HTML5有一定的了解,但不够全面,那么请从第2章Canvas基本功能开始系统学习;如果你已经全面掌握了Canvas的API,那么可以从第4章lufylegend开源库件开始阅读,了解了lufylegend开源库件的运行原理之后再正式开始游戏的实战篇学习。

全书共包括四大部分,一共11章。

第一部分(第1章)是准备工作篇,介绍一些HTML5的发展历史和开发环境的搭建。

第二部分(第2~4章)是基础知识篇,详细讲解HTML5 Canvas的基础知识以及开源库件lufylegend的使用方法。

第三部分(第5~10章)是开发实战篇,通过实例为大家讲解如何使用lufylegend开源库件来进行HTML5的游戏开发,游戏实例涉及各种常见的游戏类型,包括休闲、射击、Box2d及网游等多个领域。

第四部分(第11章)是技能提高篇,介绍如何运用数据来分析提高程序的效率。

相关资料可从以下信息得到下载:

点击这个http://www.linuxidc.com/Linux/2013-12/93755.htm 链接关注 Linux公社官方微信,关注后回复数字150687。即可得到网友的分享密码。

如果取消关注Linux公社公众号,即使再次关注,也将无法提供本服务!

链接:https://pan.baidu.com/s/1nxcdF2T 密码:获得见上面的方法,地址失效请在下面留言。

------------------------------------------分割线------------------------------------------

全部下载见

FTP地址:ftp://ftp1.linuxidc.com

用户名:ftp1.linuxidc.com

密码:www.linuxidc.com

在 2018年LinuxIDC.com/1月/HTML 5 Canvas游戏开发实战 PDF清晰扫描版+源代码/

下载方法见 http://www.linuxidc.com/Linux/2013-10/91140.htm

------------------------------------------分割线------------------------------------------ 

本文永久更新链接地址http://www.linuxidc.com/Linux/2018-01/150687.htm

linux
相关资讯       HTML 5  HTML 5 Canvas游戏开发实战 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款