《Android Web Game App高级编程 使用HTML5、CSS3、JavaScript》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)科茨著;明道洋,田钟晓译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302351030
  • 页数:508 页
图书介绍:本书会将读者的HTML和JavaScript知识提升到一个新的水平。通过引导读者创建令人兴奋的项目,使其获得核心游戏应用开发概念的第一手亲身体验。读者会从一个空白的HTML页面开始,学完本书后,拥有使用丰富图形、声音、动画等要素创建多人在线游戏所需的技能,即使没有任何游戏开发或服务器端经验。

第1章 入门 1

1.1工具 2

1.1.1所需要的组件 2

1.1.2 Java开发工具包 5

1.1.3集成开发环境 5

1.1.4 Web服务器 10

1.1.5 Android SDK和模拟器 12

1.2技术 15

1.2.1代码 16

1.2.2面向对象编程 20

1.2.3移动浏览器简介 28

1.3本章小结 29

第2章 浏览器中的图形:canvas 31

元素 31

2.1游戏剖析 31

2.2在浏览器中绘图 32

2.3 HTML基础设置 33

2.4 canvas的概念 34

2.4.1上下文 35

2.4.2坐标系统 36

2.5绘制图形 39

2.5.1矩形 39

2.5.2路径 41

2.5.3子路径 48

2.6描边和填充 50

2.6.1纯色 50

2.6.2渐变 50

2.6.3图案 55

2.7上下文状态及变换 57

2.7.1平移 58

2.7.2缩放 59

2.7.3旋转 60

2.7.4变换叠加 60

2.7.5上下文状态 61

2.7.6示例项目中的上下文转换 63

2.8示例游戏项目的输出结果 64

2.9本章小结 67

第3章 创建第一个游戏 69

3.1 HTML5游戏框架 70

3.1.1标准框架 70

3.1.2强制方向 74

3.2游戏架构 76

3.3创建游戏 78

3.3.1呈现游戏盘 78

3.3.2游戏状态及逻辑 84

3.3.3将组件结合在一起:Game类 90

3.3.4将Game类添加到HTML框架中 93

3.4本章小结 95

第4章 动画和“精灵” 97

4.1“精灵” 98

4.1.1加载图像 99

4.1.2绘制图像 110

4.1.3“精灵”表单 114

4.2动画基础 116

4.2.1最简单的动画 117

4.2.2 JavaScript线程模式 118

4.2.3定时器 119

4.2.4改善动画 123

4.3本章小结 135

第5章 事件处理和用户输入 137

5.1浏览器事件 138

5.1.1桌面浏览器与Android浏览器输入 138

5.1.2通过事件捕获用户输入 139

5.1.3从事件获取更多 142

5.2自定义事件 147

5.3自定义事件侦听器和发射器 148

5.3.1 EventEmitter:基类 149

5.3.2事件与回调 151

5.4自定义事件 152

5.4.1实现InputHandlerBase 155

5.4.2创建MouseInputHandler 158

5.4.3创建TouchInputHandler 161

5.5高级输入 162

5.5.1拖放 162

5.5.2完美像素拾取和图像遮罩 164

5.5.3复合操作 165

5.6模拟操纵杆 168

5.7本章小结 171

第6章 呈现虚拟世界 173

6.1瓦片地图 173

6.1.1瓦片地图背后的思想 174

6.1.2实现瓦片地图 175

6.1.3测量FPS 180

6.2优化渲染性能 182

6.2.1仅绘制所需要的内容 182

6.2.2屏幕外缓冲区 184

6.2.3缓存视口周围的区域 187

6.3世界对象 191

6.3.1坐标系统 192

6.3.2实现WorldObjectRenderer 193

6.3.3呈现顺序 196

6.3.4优化 198

6.4等距视图 200

6.5本章小结 202

第7章 创建等距引擎 203

7.1设置 204

7.1.1计划 205

7.1.2准备工作区 206

7.1.3基本代码 206

7.1.4实用函数 209

7.2等距地形 216

7.2.1坐标系统 216

7.2.2呈现瓦片 217

7.2.3实现IsometricTileLayer 221

7.3呈现对象 229

7.3.1实现对象群集 232

7.3.2对象缓存 235

7.3.3处理移动 238

7.3.4组合对象 240

7.3.5对象层:下一步骤 242

7.4“脏”矩形 242

7.4.1工作机制 243

7.4.2实现 245

7.4.3与层集成 249

7.4.4创建“脏”矩形 252

7.5 UI和层管理器 254

7.5.1层管理器(LayerManager) 255

7.5.2 UI 257

7.6交互 261

7.6.1事件传播和处理 262

7.6.2停止传播 265

7.7本章小结 267

第8章 浏览器中的3D 269

8.1 3D渲染简介 269

8.2 3D渲染的工作机制 271

8.2.1数学 271

8.2.2一个3D示例 271

8.3 “Hello World” 3D引擎 273

8.3.1模型和场景 273

8.3.2渲染 275

8.4本章小结 286

第9章 使用WebGL 289

9.1 WebGL的基础 289

9.1.1初始化WebGL 290

9.1.2几何体 292

9.1.3 OpenGL ES 2.0渲染管线 294

9.1.4使用缓冲区 295

9.1.5着色器和GLSL 297

9.2基本示例:渲染3D立方体 302

9.2.1在Web页面中使用着色器 302

9.2.2渲染“Hello World” 304

9.3探索WebGL 309

9.3.1颜色 309

9.3.2纹理 313

9.4本章小结 320

第10章 服务器端 323

10.1 Node.js基础 324

10.1.1 Node .js概述 324

10.1.2编程模式 325

10.1.3安装Node .js 327

10.1.4调试Node脚本 328

10.2编写Node.js脚本 330

10.2.1异常和堆栈跟踪 330

10.2.2全局命名空间和Node模块 331

10.2.3编写第一个模块 335

10.2.4发现模块 337

10.2.5使用NPM 338

10.3回归现实:构建游戏服务器 341

10.3.1 Node的Web开发框架 341

10.3.2基本输出 341

10.3.3呈现Web页面 345

10.4理解中间件 353

10.5内务处理 355

10.5.1错误报告 355

10.5.2日志 359

10.5.3服务器配置 361

10.6本章小结 363

第11章 与服务器对话 365

11.1浏览器中网络通信的演变 365

11.2服务器设置 367

11.3为基本的HTTP请求使用XMLHttpRequestAPI 368

11.3.1普通XHR HTTP请求 369

11.3.2 XHR错误处理 370

11.3.3 XMLHttpRequest Level 2 371

11.3.4使用二进制数据 372

11.4反向Ajax 374

11.4.1存在的问题 375

11.4.2解决方案 375

11.4.3最佳解决方案 375

11.4.4可接受的解决方案 377

11.4.5过时的解决方案 381

11.5现场测试“传输” 382

11.6本章小结 384

第12章 构建多人游戏 387

12.1网络游戏构成 387

12.1.1游戏的体系结构:从单机版到多人版 388

12.1.2项目结构 391

12.2 Socket.IO游戏大厅 392

12.2.1客户端-服务器通信 393

12.2.2添加游戏大厅屏幕 396

12.3添加游戏设置 401

12.3.1在客户端和服务器之间共享逻辑 401

12.3.2服务器端 403

12.3.3客户端 408

12.4本章小结 415

第13章 游戏中的AI 417

13.1 AI对于游戏的重要性 418

13.2路径查找概述 418

13.3图论 420

13.3.1图的概念 420

13.3.2在JavaScript中实现图 422

13.4构建路径查找AI 426

13.5路径查找图的构造方法 432

13.5.1全手工图 432

13.5.2光线投射(视线法) 433

13.5.3导航网格 433

13.6决策 434

13.7本章小结 438

第14章 JavaScript游戏引擎 439

14.1图形API、库以及游戏引擎 439

14.1.1图形API 440

14.1.2图形库 440

14.1.3游戏引擎 441

14.2 Crafty 442

14.2.1实体组件系统 443

14.2.2 Crafty Hello World 446

14.2.3 Crafty游戏 449

14.2.4加载“精灵” 449

14.2.5呈现地形和对象 451

14.2.6动画 453

14.2.7与实体和事件系统进行交互 454

14.3最终版本 455

14.4本章小结 458

第15章 构建原生应用 459

15.1原生应用 460

15.2设置Apache Cordova(PhoneGap) 461

15.2.1安装Cordova 462

15.2.2安装Apache Ant 462

15.3构建原生应用 463

15.3.1创建一个空的Android项目 463

15.3.2对空Android项目进行测试 464

15.3.3 Cordova项目的基础 465

15.3.4联网 469

15.3.5最后的“润色”:名称、图标和全屏模式 470

15.4使用原生API 473

15.5准备市场 476

15.5.1应用程序签名 476

15.5.2创建数字密钥 477

15.5.3对该应用程序签名 478

15.5.4在Google Play上发布 479

15.5.5更新应用程序 483

15.6本章小结 484

第16章 添加声音 485

16.1网页中的音频 486

16.1.1 audio标签 486

16.1.2 Web Audio API 487

16.1.3 Android浏览器中的声音 488

16.2使用SoundManager2 489

16.2.1初始设置 489

16.2.2循环 491

16.2.3添加游戏声音 493

16.3在Cordova应用程序中播放声音 495

16.4用户体验 496

16.5本章小结 497

16.6进一步探索 497

附录A 调试客户端JavaScript 499