《HTML5游戏开发实践指南》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(美)威廉姆斯著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2012
  • ISBN:9787111380344
  • 页数:202 页
图书介绍:本书从HTML5游戏开发环境的安装配置开始介绍,重点讲解了实现复杂交互、SGF框架、Canvas标签、SVG矢量图形应用、Rapha?lJS库、WebGL 3D、GWT、CoffeeScript、Node.js优化游戏性能的方法等丰富的内容。

第1章HTML5概述 1

1.1超越基本的HTML 1

1.1.1JavaScript 2

1.1.2AJAX 2

1.2填补空白 2

1.2.1GoogleGears 3

1.2.2ChromeFrame 3

1.3使用WebSockets和WebWorkers编程 4

1.3.1WebSockets 4

1.3.2WebWorkers 4

1.4应用程序缓存 5

1.5数据库API 6

1.5.1WebSQLAPI 6

1.5.2IndexedDBAPI 7

1.6WebStorage 7

1.7定位 8

1.8提示用户消息 10

1.8.1为显示提示请求权限 11

1.8.2创建提示 12

1.8.3与提示信息实现交互 13

1.9媒体元素 13

1.9.1控制媒体播放 14

1.9.2处理不支持的格式 15

1.10绘画API 16

1.10.1Canvas 16

1.10.2SVG 16

1.10.3WebGL 16

1.11使用Microdata传达信息 17

1.12小结 18

第2章配置开发环境 19

2.1开发工具 19

2.1.1安装Java 19

2.1.2安装EclipseIDE和Google插件 20

2.1.3GoogleWebToolkit 21

2.2Web服务器端工具和选项 22

2.2.1GoogleAppEngine 23

2.2.2OperaUnite 23

2.2.3Nodejs和RingoJS 23

2.3浏览器端工具 24

2.3.1Chrome开发人员工具 24

2.3.2Chrome扩展程序 25

2.3.3Safari开发人员工具 26

2.3.4Firebug 26

2.4HTML5工具 27

2.4.1ProcessingJS 27

2.4.2Inkscape 27

2.4.3SVG-edit 27

2.4.4Raphael 28

2.5 3D建模工具 29

2.6小结 29

第3章JavaScript概述 30

3.1什么是JavaScript 30

3.1.1JavaScript基本类型 30

3.1.2理解算术运算符 31

3.1.3理解JavaScript函数 31

3.1.4first-class对象函数 32

3.1.5比较运算符 33

3.2条件和循环语句 34

3.2.1使用循环控制程序流 35

3.2.2使用setTimeout和setInterval函数实现延迟执行 36

3.3使用继承和多态创建复杂对象 37

3.4JQue简介 39

3.4.1使用选择器操作DOM元素 40

3.4.2JQuery事件 41

3.4.3JQue中的AJAX 41

3.4.4跨站点脚本 42

3.5JSON:另一种JavaScript格式 42

3.6浏览器外的JavaScript 43

3.6.1移动平台 43

3.6.2将JavaScript作为中间语言 43

3.6.3桌面应用中的JavaScript 44

3.7服务器端JavaScript 45

3.8小结 46

3.9练习 47

第4章游戏运行机制 48

4.1游戏设计 48

4.1.1撰写基本设计文档 48

4.1.2确定游戏类型 49

4.1.3游戏循环 50

4.1.4获取用户输入 50

4.2使用高级数据结构实现游戏对象 50

4.2.1使用Set构建唯一数据列表 50

4.2.2使用链表创建对象图 52

4.3理解SGF中的API 53

4.3.1核心API 53

4.3.2组件API 54

4.3.3资源API及网络API 55

4.4使用SGF构建乒乓球游戏 55

4.4.1设置应用程序 56

4.4.2绘制游戏配件 57

4.5碰撞检测和响应 59

4.5.1理解牛顿三大定律 59

4.5.2让球动起来 61

4.5.3高级碰撞检测和粒子系统 62

4.6通过人工智能增加游戏难度 63

4.6.1将人工智能应用到乒乓球游戏 63

4.6.2将人工智能应用到井字棋游戏 64

4.7小结 66

4.8练习 66

第5章使用Canvas标签构建游戏 67

5.1Canvas基础 67

5.1.1绘制路径 68

5.1.2绘制井字棋游戏的棋子 69

5.2使用变换绘制Canvas中的对象 70

5.2.1变换规则 72

5.2.2保存和恢复Canvas绘图状态 72

5.3在Canvas中使用图片 73

5.3.1使用DataURI访问图片 73

5.3.2使用Spritesheets访问图片 74

5.3.3在Canvas中绘制图片 74

5.4使用Trident.js创建动画对象 75

5.4.1创建时间线 75

5.4.2使用关键帧实现动画 76

5.4.3使用缓冲函数创建非线性时间线 77

5.4.4使用Spritesheets创建游戏对象动画 78

5.5在2D空间模拟3D 79

5.5.1透视投影 79

5.5.2视差 80

5.5.3使用JavaScript创建视差效果 80

5.6创建Copy Me游戏 82

5.6.1绘制游戏对象 82

5.6.2创建游戏音调 82

5.6.3在浏览器中播放MIDI文件 84

5.6.4同时播放多个音频 84

5.6.5顺序播放音频 85

5.6.6绘制游戏文本 86

5.6.7使用CSS设置文本字体 86

5.7小结 87

5.8练习 87

第6章 使用SVG和RaphaelJS构建游戏 88

6.1 SVG概述 88

6.2使用RaphaelJS 89

6.2.1设置游戏开发环境 90

6.2.2创建游戏板 91

6.2.3绘制游戏文本 92

6.3自定义字体 92

6.3.1设置颜色 95

6.3.2加载游戏资源 96

6.3.3将SVG文件转换成位图 97

6.4创建游戏类 98

6.4.1洗牌 99

6.4.2绘制及卡片动画 100

6.5制作高级动画 102

6.5.1路径 102

6.5.2 moveto和lineto 103

6.5.3 curveto 103

6.5.4从SVG文件中导出路径 104

6.5.5在路径中使用动画 104

6.6使用插件扩展Raphael 105

6.6.1添加函数 105

6.6.2 SVG滤镜 105

6.7权衡速度 106

6.8小结 106

6.9练习 106

第7章 使用WebGL和Three.js构建游戏 108

7.1三维 109

7.2用材质和光源美化对象 110

7.2.1了解照明 110

7.2.2使用材质及着色器 111

7.3创建第一个Three.js场景 113

7.3.1设置视角 113

7.3.2观察世界 118

7.4使用Three.js加载3D模型 119

7.5着色及纹理处理的编程 121

7.6使用纹理 123

7.7使用Three.js创建游戏 125

7.8用游戏模拟真实世界 126

7.9重温粒子系统 129

7.10创建场景 130

7.11模型动画设计 131

7.12 3D模型资源 131

7.13校准游戏 132

7.13.1用Stats.js检查帧速率 133

7.13.2运用WebGL Inspector 133

7.14小结 134

7.15练习 134

第8章 不使用JavaScript构建游戏 135

8.1 Google Web Toolkit 135

8.1.1了解GWT部件及布局 136

8.1.2使用JSNI向GWT展示JavaScript库 137

8.1.3 RaphaelGWT 138

8.1.4使用gwt-html5-media创建声音 139

8.1.5使用GWT访问绘图API 139

8.2 CoffeeScript 140

8.2.1安装CoffeeScript 141

8.2.2编译CoffeeScript文件 141

8.3 CoffeeScript快速指南 142

8.3.1基础 142

8.3.2函数和调用 142

8.3.3别名、条件语句和循环语句 144

8.3.4增强的for循环和集合视图 144

8.3.5类和继承 145

8.4替代技术 146

8.4.1 Cappuccino 146

8.4.2 Pyiamas 146

8.5小结 147

8.6练习 147

第9章 构建多人游戏服务器 148

9.1 Node js简介 148

9.1.1使用Node包管理器扩展Node 149

9.1.2 Node的多版本管理 149

9.2使用ExpressJS简化Web App生成 149

9.2.1使用URL路由满足服务请求 150

9.2.2会话管理 152

9.2.3理解ExpressJS应用程序的结构 152

9.2.4使用CoffeeKup定制HTML模板 153

9.3使用缓存存储数据 155

9.4管理C/S通信 155

9.4.1使用Socket.IO通信 156

9.4.2使用Express安装一个简单的Socket.IO应用程序 156

9.4.3使用NowJS简化Web Sockets 157

9.5调试Node应用程序 158

9.6创建游戏服务器 159

9.6.1创建游戏大厅 159

9.6.2使用NowJs Groups创建游戏房间 160

9.6.3管理游戏玩家和在不同的游戏房间中移动 161

9.7管理游戏 162

9.8小结 163

9.9练习 163

第10章 开发移动游戏 164

10.1选择移动平台 164

10.1.1 iOs 164

10.1.2 Android 164

10.1.3 WebOs 165

10.1.4 Windows Phone7 165

10.2ick、 tap和swipe:移动手势简介 166

10.3选择应用程序还是Web站点 166

10.4在移动设备上存储数据 168

10.4.1从Lawnchair中解脱:一种相对容易的数据存储方法 168

10.4.2开始使用Lawnchair 169

10.5使用JQuery和Zepto简化客户端脚本 170

10.5.1使用JQuery变种 170

10.5.2使用Zepto.js 171

10.6使用JoApp构建应用程序 172

10.7选择应用程序框架 173

10.7.1 PhoneGap 173

10.7.2深入PhoneGap API 173

10.7.3 Appcelerator Titanium 175

10.7.4深入Appcelerator Titanium API 175

10.8使用Titanium和PhoneGap打包Android应用程序 176

10.8.1使用Titanium打包应用程序 177

10.8.2使用PhoneGap打包应用程序 179

10.9小结 182

10.10练习 183

第11章 游戏发布 184

11.1优化游戏资源 184

11.1.1使用Google Closure编译器进行代码小型化 184

11.1.2使用缓存运行离线程序 185

11.2服务器的主机服务 188

11.3在部署Node.js的服务器上发布游戏 189

11.4在Chrome Web Store上发布应用 190

11.4.1描述应用的元数据 191

11.4.2部署主机应用 191

11.4.3部署应用程序包 193

11.4.4在本地测试应用程序 193

11.4.5上传应用程序到Chrome Web Store 193

11.4.6配置应用程序 194

11.4.7确定使用包应用还是使用Chrome主机应用 195

11.5使用TapJS发布应用 197

11.5.1创建TapJS应用 197

11.5.2打包TapJS应用程序 199

11.5.3将TapJS应用程序发布到Facebook 199

11.6使用Kongregate发布游戏 201

11.7将HTML5应用程序发布到桌面 201

11.8小结 202

11.9练习 202