图书介绍
HTML5移动游戏开发高级编程PDF|Epub|txt|kindle电子书版本网盘下载
![HTML5移动游戏开发高级编程](https://www.shukui.net/cover/23/30627898.jpg)
- (美)瑞特格著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302356318
- 出版时间:2014
- 标注页数:508页
- 文件大小:64MB
- 文件页数:528页
- 主题词:超文本标记语言-游戏程序-程序设计
PDF下载
下载说明
HTML5移动游戏开发高级编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第Ⅰ部分 HTML5潜力初探3
第1章 先飞后走,先难后易3
1.1引言3
1.2用500行代码构建一个完整游戏4
1.2.1了解游戏4
1.2.2结构化游戏4
1.2.3最终实现的游戏5
1.3添加HTML和CSS样板代码5
1.4画布入门6
1.4.1访问上下文7
1.4.2在画布上绘制7
1.4.3绘制图像8
1.5创建游戏的结构10
1.5.1构建面向对象的JavaScript10
1.5.2利用鸭子类型11
1.5.3创建三个基本对象11
1.6加载精灵表11
1.7创建Game对象13
1.7.1实现Game对象13
1.7.2重构游戏代码16
1.8添加滚动背景16
1.9插入标题画面20
1.10添加主角22
1.10.1创建PlayerShip对象22
1.10.2处理用户输入23
1.11小结24
第2章 从玩具到游戏25
2.1引言25
2.2创建GameBoard对象25
2.2.1了解GameBoard对象26
2.2.2添加和删除对象26
2.2.3遍历对象列表27
2.2.4定义面板的方法29
2.2.5处理碰撞29
2.2.6将GameBoard添加到30
游戏中30
2.3发射导弹31
2.3.1添加炮弹精灵31
2.3.2连接导弹和玩家32
2.4添加敌方飞船33
2.4.1计算敌方飞船的移动33
2.4.2构造Enemy对象34
2.4.3移动和绘制Enemy对象35
2.4.4将敌方飞船添加到面板上36
2.5重构精灵类37
2.5.1创建一个通用的Sprite类38
2.5.2重构PlayShip38
2.5.3重构PlayerMissile39
2.5.4重构Enemy40
2.6处理碰撞40
2.6.1添加对象类型41
2.6.2让导弹和敌方飞船碰撞41
2.6.3让敌方飞船和玩家碰撞42
2.6.4制造爆炸43
2.7描述关卡44
2.7.1设置敌方飞船44
2.7.2设置关卡数据45
2.7.3加载和结束一关游戏46
2.7.4实现Level对象47
2.8小结49
第3章 试飞结束,向移动进发51
3.1引言51
3.2添加触摸控件51
3.2.1绘制控件52
3.2.2响应触摸事件54
3.2.3在移动设备上测试56
3.3最大化游戏界面57
3.3.1设置视口57
3.3.2调整画布尺寸58
3.3.3添加到iOS主屏幕60
3.4添加得分61
3.5使之成为公平的战斗62
3.6小结65
第Ⅱ部分 移动HTML569
第4章 移动设备上的HTML569
4.1引言69
4.2 HTML5的发展简史70
4.2.1了解HTML5“不同寻常”的成长历程70
4.2.2期待HTML6?HTML7?不,仅HTML5足矣70
4.2.3关于规范71
4.2.4区分HTML5家族和HTML571
4.3恰当地使用HTML572
4.3.1尝试HTML572
4.3.2嗅探浏览器72
4.3.3确定功能而非浏览器74
4.3.4渐进增强75
4.3.5弥补差距的腻子脚本76
4.4从游戏角度考虑HTML576
4.4.1画布77
4.4.2 CSS3/DOM77
4.4.3 SVG78
4.5从移动角度考虑HTML579
4.5.1了解一些新的API79
4.5.2即将登场的WebAPI80
4.6调查移动浏览器的前景80
4.6.1 WebKit:市场霸主80
4.6.2 Opera:依然在埋头苦干81
4.6.3 Firefox.Mozilla的移动产品81
4.6.4 WP7上的Internet Explorer 981
4.6.5平板电脑81
4.7小结82
第5章 了解一些有用的库83
5.1引言83
5.2了解JavaScript库84
5.3从jQuery谈起84
5.3.1将jQuery添加到页面84
5.3.2了解$操作符85
5.3.3操纵DOM86
5.3.4创建回调87
5.3.5绑定事件89
5.3.6发起Ajax调用92
5.3.7调用远程服务器92
5.3.8使用Deferred93
5.4使用Underscore.js94
5.4.1访问Underscore94
5.4.2使用集合94
5.4.3使用实用函数95
5.4.4链式调用Underscore方法96
5.5小结96
第6章 成为一个良好的移动市民97
6.1引言97
6.2响应设备的能力97
6.2.1最大化实际使用面积98
6.2.2调整出合适的画布尺寸98
6.3处理浏览器的尺寸调整、滚动和缩放100
6.3.1处理尺寸调整100
6.3.2防止滚动和缩放101
6.3.3设置视口102
6.3.4去除地址栏103
6.4配置iOS主屏幕应用105
6.4.1把游戏变成Web应用可行的105
6.4.2添加启动画面105
6.4.3配置主屏幕图标106
6.5考虑移动设备的性能107
6.6适应有限的带宽和存储108
6.6.1为移动设备优化108
6.6.2移动设备好则一切皆好108
6.6.3缩减JavaScript109
6.6.4设置正确的头域内容109
6.6.5经由CDN提供110
6.7借助应用缓存的完全离线运行111
6.7.1创建代码清单文件111
6.7.2检查浏览器是否在线113
6.7.3监听更高级的行为113
6.7.4最后的警告113
6.8小结114
第Ⅲ部分 JavaScript游戏开发基础117
第7章 了解HTML5游戏开发环境117
7.1引言117
7.2选择编辑器118
7.3探讨Chrome开发者工具118
7.3.1激活开发者工具118
7.3.2审查元素118
7.3.3查看页面资源120
7.3.4跟踪网络传输121
7.4调试JavaScript123
7.4.1查看Console选项卡123
7.4.2运用Script选项卡125
7.5分析和优化代码127
7.5.1运行性能分析127
7.5.2真正进行游戏优化129
7.6在移动设备上调试131
7.7小结132
第8章 在命令行上运行JavaScript133
8.1引言133
8.2了解Node.js134
8.3安装Node134
8.3.1在Windows上安装Node135
8.3.2在OSX上安装Node135
8.3.3在Linux上安装Node135
8.3.4追踪最新版的Node136
8.4安装和使用Node模块136
8.4.1安装模块136
8.4.2诊断代码136
8.4.3缩减代码137
8.5创建自己的脚本137
8.5.1创建package.json文件138
8.5.2使用服务器端画布139
8.5.3创建可重用的脚本140
8.6编写一个精灵地图生成器141
8.6.1使用Futures模块142
8.6.2自上而下进行编码143
8.6.3加载图像144
8.6.4计算画布的尺寸146
8.6.5在服务器端画布上绘制图像147
8.6.6更新和运行脚本148
8.7小结149
第9章 自建Quintus引擎(1)151
9.1引言151
9.2创建可重用HTML5引擎的框架152
9.2.1设计基本的引擎API152
9.2.2着手编写引擎代码153
9.3添加游戏循环155
9.3.1构建更好的游戏循环定时器155
9.3.2将已优化的游戏循环添加到Quintus156
9.3.3测试游戏循环158
9.4添加继承159
9.4.1在游戏引擎中使用继承159
9.4.2将传统继承添加至JavaScript160
9.4.3运用Class的功能163
9.5支持事件164
9.5.1设计事件API164
9.5.2编写Evented类165
9.5.3填写Evented方法165
9.6支持组件168
9.6.1设计组件API168
9.6.2实现组件系统169
9.7小结172
第10章 自建Quintus引擎(2)173
10.1引言173
10.2访问游戏容器元素173
10.3捕捉用户输入176
10.3.1创建输入子系统176
10.3.2自建输入模块177
10.3.3处理键盘事件179
10.3.4添加小键盘控件180
10.3.5添加游戏手柄控件183
10.3.6绘制屏幕输入186
10.3.7完善和测试输入188
10.4加载资产190
10.4.1定义资产类型191
10.4.2加载特定资产192
10.4.3完善加载器194
10.4.4添加预加载支持197
10.5小结198
第11章 自建Quintus引擎(3)199
11.1引言199
11.2定义精灵表200
11.2.1创建SpriteSheet类200
11.2.2跟踪和加载精灵表201
11.2.3测试SpriteSheet类202
11.3添加精灵203
11.3.1编写Sprite类203
11.3.2引用精灵、属性和资产205
11.3.3运用Sprite对象205
11.4使用场景设置舞台209
11.4.1创建Quintus.Scenes模块210
11.4.2编写Stage类210
11.4.3丰富场景功能214
11.5完成Blockbreak游戏的编写217
11.6小结219
第Ⅳ部分 使用CSS3和SVG构建游戏223
第12章 使用CSS3构建游戏223
12.1引言223
12.2选定场景图223
12.2.1目标受众224
12.2.2交互方法224
12.2.3性能需求224
12.3实现DOM支持225
12.3.1考虑DOM的特性225
12.3.2自建Quintus的DOM模块225
12.3.3创建一致的移动方法226
12.3.4创建一致的过渡方法229
12.3.5实现DOM精灵类230
12.3.6创建DOM舞台类232
12.3.7替换画布的等价类234
12.3.8测试DOM功能234
12.4小结235
第13章 制作一个CSS3 RPG游戏237
13.1引言237
13.2创建滚动的区块地图237
13.2.1了解性能问题238
13.2.2实现DOM区块地图类238
13.3构建RPG游戏242
13.3.1创建HTML文件242
13.3.2设置游戏243
13.3.3添加区块地图245
13.3.4创建一些有用的组件247
13.3.5添加玩家250
13.3.6添加迷雾、敌人和战利品251
13.3.7使用精灵扩展区块地图255
13.3.8添加血槽和HUD258
13.4小结262
第14章 使用SVG和物理引擎构建游戏263
14.1引言263
14.2了解一些SVG基础知识264
14.2.1在页面上显示SVG264
14.2.2了解基本的SVG元素265
14.2.3变形SVG元素269
14.2.4应用笔画和填充270
14.2.5超越基础272
14.3通过JavaScript使用SVG273
14.3.1创建SVG元素273
14.3.2设置和读取SVG特性274
14.4将SVG支持添加到 Quintus275
14.4.1创建SVG模块275
14.4.2添加SVG精灵276
14.4.3创建SVG舞台类278
14.4.4测试SVG类280
14.5使用Box2D添加物理支持283
14.5.1了解物理引擎283
14.5.2实现world组件284
14.5.3实现physics组件287
14.5.4将物理支持添加到例子中290
14.6创建一个大炮射击游戏292
14.6.1设计游戏292
14.6.2构建所需的精灵292
14.6.3收集用户输入并完成游戏编写295
14.7小结296
第Ⅴ部分 HTML5画布301
第15章 了解HTML5的杰出画布301
15.1引言301
15.2画布标签入门302
15.2.1了解CSS和像素尺寸302
15.2.2提取渲染上下文305
15.2.3通过画布创建图像305
15.3在画布上进行绘制307
15.3.1设置填充和笔画样式307
15.3.2设置笔画细节309
15.3.3调整不透明度310
15.3.4绘制矩形310
15.3.5绘制图像311
15.3.6绘制路径311
15.3.7在画布上渲染文本313
15.4使用画布变形矩阵314
15.4.1了解基本的变形315
15.4.2保存、恢复和重置变形矩阵316
15.4.3绘制雪花316
15.5应用画布效果319
15.5.1添加阴影319
15.5.2使用合成效果319
15.6小结321
第16章 实现动画323
16.1引言323
16.2构建动画地图323
16.2.1确定动画API324
16.2.2编写动画模块325
16.2.3测试动画329
16.3添加画布视口331
16.4实现视差效果334
16.5小结336
第17章 运用像素337
17.1引言337
17.2回顾2D物理学338
17.2.1了解力、质量和加速度338
17.2.2为炮弹建模339
17.2.3换成迭代解340
17.2.4抽取可重用类341
17.3实现Lander游戏342
17.3.1自建游戏342
17.3.2构建飞船343
17.3.3精确到像素级345
17.3.4运用ImageData对象346
17.3.5制造爆炸350
17.4小结354
第18章 创建一个2D平台动作游戏355
18.1引言355
18.2创建区块层356
18.2.1编写TileLayer类356
18.2.2试用TileLayer代码358
18.2.3优化绘制360
18.3处理平台动作游戏的碰撞361
18.3.1添加2d组件362
18.3.2计算平台动作游戏的碰撞364
18.3.3使用PlatformStage拼接366
18.4构建游戏368
18.4.1自建游戏368
18.4.2创建敌人369
18.4.3添加子弹371
18.4.4创建玩家372
18.5小结375
第19章 构建一个画布编辑器377
19.1引言377
19.2使用Node.js提供游戏服务377
19.2.1创建package.json文件378
19.2.2设置Node以提供静态资产378
19.3创建编辑器379
19.3.1修改平台动作游戏代码380
19.3.2创建编辑器模块382
19.3.3添加触摸和鼠标事件385
19.3.4选择区块387
19.4添加关卡保存支持389
19.5小结390
第Ⅵ部分 多人游戏393
第20章 构建在线社交游戏393
20.1引言393
20.2了解基于HTTP的多玩家394
20.3设计一个简单的社交游戏394
20.4集成Facebook395
20.4.1生成Facebook应用395
20.4.2创建Node.js服务器396
20.4.3添加登录视图399
20.4.4测试Facebook身份验证401
20.5连接数据库402
20.5.1在Windows上安装MongoDB402
20.5.2在OSX上安装MongoDB403
20.5.3在Linux上安装MongoDB403
20.5.4通过命令行连接MongoDB403
20.5.5将MongoDB集成到游戏405
20.6完成Blob Clicker的编写407
20.7推送至托管服务410
20.8小结412
第21章 实现实时交互413
21.1引言413
21.2了解WebSocket413
21.3在浏览器中使用原生WebSocket415
21.4使用Socket.io:支持回退的WebSocket417
21.4.1创建涂鸦应用的服务器端417
21.4.2添加涂鸦应用的客户端419
21.5用Socket.io构建一个多人乒乓球游戏421
21.5.1处理延时422
21.5.2防止作弊422
21.5.3部署实时应用422
21.5.4创建自动匹配的服务器端423
21.5.5构建乒乓球游戏的前端426
21.6小结431
第22章 构建非传统风格的游戏433
22.1引言433
22.2创建一个Twitter应用433
22.3将Node应用连接至Twitter435
22.3.1发送第一条推文435
22.3.2监听用户的信息流436
22.4随机生成单词437
22.5创建Twitter上的Hangman游戏438
22.6小结443
第Ⅶ部分 移动增强447
第23章 通过地理位置定位447
23.1引言447
23.2地理定位入门447
23.3一次性获取位置448
23.4在地图上标出位置450
23.5监视位置随时间的变化451
23.6绘制交互式地图452
23.7计算两点间的距离454
23.8小结454
第24章 查询设备的方向和加速455
24.1引言455
24.2考查设备的方向455
24.3设备方向事件入门456
24.3.1检测和使用事件457
24.3.2了解事件数据457
24.4试用设备方向458
24.4.1创建一个玩球的场所458
24.4.2添加方向控制460
24.4.3处理浏览器的旋转461
24.5小结462
第25章 播放音效:移动设备的罩门463
25.1引言463
25.2使用audio标签463
25.2.1把audio标签用于简单播放464
25.2.2处理不同的受支持格式464
25.2.3了解移动设备音频的局限性465
25.3构建一个简单的桌面音效引擎465
25.3.1将audio标签用于游戏音效466
25.3.2添加一个简单的音效系统466
25.3.3将音效添加到Block Break468游戏468
25.4构建一个移动音效系统469
25.4.1使用音效精灵469
25.4.2生成精灵文件472
25.4.3将音效精灵添加到游戏473
25.5展望HTML5音频的未来474
25.6小结474
第Ⅷ部分 游戏引擎和应用商店477
第26章 使用HTML5游戏引擎477
26.1引言477
26.2回顾HTML5引擎的历史477
26.2.1使用商用引擎478
26.2.2 Impact.js479
26.2.3 Spaceport.io480
26.2.4 IDE引擎480
26.3使用开源引擎481
26.3.1 Crafty.js481
26.3.2 LimeJS482
26.3.3 EaselJS484
26.4小结487
第27章 瞄准应用商店489
27.1引言489
27.2为Google的Chrome Web Store打包应用490
27.2.1创建托管应用490
27.2.2创建打包应用492
27.2.3发布应用492
27.3使用CocoonJS加速应用493
27.3.1准备把游戏载入CocoonJS493
27.3.2在Android上测试CocoonJS495
27.3.3构建云端应用495
27.4使用AppMobi的XDK和496
DirectCanvas构建应用496
27.4.1了解DirectCanvas496
27.4.2安装XDK496
27.4.3创建应用497
27.4.4修改Alien Invasion以使用DirectCanvas497
27.4.5在设备上测试应用502
27.5小结502
第28章 挖掘下一个热点503
28.1引言503
28.2使用WebGL实现3D503
28.3使用Web Audio API获得更好的声音访问504
28.4使用全屏API扩大游戏画面505
28.5使用屏幕方向API锁定设备屏幕505
28.6使用WebBTC添加实时通信505
28.7追踪其他即将出现的本地化功能506
28.8小结506
附录A 资源507