《Java 2D游戏编程入门》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)莱特著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2015
  • ISBN:9787115392770
  • 页数:549 页
图书介绍:本书是一本基于Java语言开发2D游戏的书,全书共计分为3个部分由浅入深地介绍了一系列的基础概念和深入应用技巧。通过18个章节分别从输入、时间/空间、简单游戏框架、游戏原型、文本、图片、声音等方面介绍了游戏开发的细节。全书结构清晰,内容通俗易懂,所有的代码均在Windows7平台下测试完成,非常利于读者的学习和巩固。

第1部分 基础知识 2

第1章 Hello World 2

1.1 使用FrameRate类 2

1.2 创建Hello World应用程序 3

1.3 使用主动渲染 6

1.4 创建定制的渲染线程 8

1.5 创建一个主动渲染的窗口 11

1.6 修改显示模式 13

1.7 全屏显示模式中的主动渲染 18

1.8 资源和延伸阅读 21

第2章 输入 22

2.1 处理键盘输入 22

2.2 键盘改进 26

2.3 处理鼠标输入 29

2.4 相对鼠标移动 37

2.5 资源和延伸阅读 45

第3章 变换 46

3.1 使用Vector2f类 46

3.2 使用极坐标 54

3.3 理解点和向量 60

3.4 使用矩阵变换 62

3.5 行主序矩阵和列主序矩阵 63

3.6 理解Matrix3x3f类 65

3.7 仿射变换 76

3.8 资源和延伸阅读 79

第4章 时间和空间 80

4.1 计算时间增量 80

4.2 屏幕映射 86

4.3 调整视口高宽比 93

4.4 大炮实例 100

4.5 资源和延伸阅读 107

第5章 简单游戏框架 108

5.1 屏幕到世界的转换 108

5.2 理解简单框架 110

5.3 使用简单框架模板 116

5.4 资源和延伸阅读 118

第6章 Vector2f更新 119

6.1 inv() 119

6.2 add() 119

6.3 sub() 120

6.4 mul() 120

6.5 div() 121

6.6 len()和lenSqr() 121

6.7 norm() 122

6.8 perp() 123

6.9 dot() 123

6.10 angle() 125

6.11 polar() 125

6.12 toString() 126

6.13 资源和延伸阅读 128

第7章 相交测试 129

7.1 多边形中的点的测试 129

7.1.1 多边形特例中的点 131

7.1.2 多边形示例中的点 133

7.2 使用轴对齐边界框进行相交测试 137

7.3 使用圆形测试相交 139

圆和AABB的重合 140

7.4 使用分隔轴方法 147

7.5 使用线段一线段的重叠方法 149

7.6 使用矩形一矩形的重叠方法 152

7.7 优化测试 156

7.8 资源和延伸阅读 157

第8章 游戏原型 158

8.1 创建一个多边形包装类 158

8.2 创建一个原型小行星 166

8.3 创建一个原型编辑器 171

8.4 用原型小行星工厂生产小行星 175

8.5 原型Bullet类 181

8.6 原型Ship类 183

8.7 编写原型游戏 188

8.8 资源和延伸阅读 195

第2部分 提高技能 198

第9章 文件和资源 198

9.1 理解Java如何处理文件和目录 198

9.2 理解输入/输出流 201

9.3 创建Resources.jar文件进行测试 206

9.4 将资源放到类路径上 208

9.5 制作资源加载工具包 211

9.6 利用Java属性 214

9.7 XML文件概览 218

9.8 资源和延伸阅读 227

第10章 图像 228

10.1 学习Java中的颜色 228

10.2 了解不同的图像类型 229

10.3 执行颜色插值 235

10.4 使用VolatileImage提高速度 240

10.5 创建透明图像 244

10.6 使用alpha合成的规则 247

10.7 绘制精灵 254

10.8 探索不同的缩放算法 264

10.9 资源与延伸阅读 280

第11章 文本 282

11.1 理解Java字体 282

11.2 制作绘制字符串工具 287

11.3 使用文本度量进行布局 291

11.4 支持线程安全的键盘输入 302

11.5 资源和延伸阅读 309

第12章 线程 310

12.1 使用线程实现Callable任务 310

12.2 使用线程加载文件 313

12.3 使用FakeHardware类测试 316

12.4 使用等待/通知方法 321

12.5 在游戏循环中使用线程 323

12.6 使用状态机 331

12.7 OneShotEvent类 332

12.8 LoopEvent类 334

12.9 RestartEvent类 337

12.10 多线程事件示例 340

12.11 资源和延伸阅读 342

第13章 声音 343

13.1 操作声音文件 345

13.2 使用声音库的问题 347

13.3 开发阻塞音频类 351

13.4 用阻塞的Clip类 353

13.5 使用AudioDataLine类 357

13.6 BlockingDataLine类 363

13.7 创建一个SoundEvent类 366

13.8 使用OneShotEvent类 368

13.9 使用LoopEvent类 369

13.10 使用RestartEvent类 370

13.11 添加声音控件 376

13.12 资源和延伸阅读 385

第14章 用ANT进行开发 386

14.1 安装ANT软件 386

14.2 理解构建脚本的格式 387

14.3 学习常见ANT任务 389

14.4 构建一个可扩展的构建脚本 392

14.5 资源和延伸阅读 398

第15章 碰撞检测 399

15.1 带碰撞检测的弹球 399

15.2 使用直线参数方程 404

15.3 查找直线—矩形相交 405

15.4 查找圆—直线相交 412

15.5 查找直线—直线相交 418

15.6 计算一个反射向量 424

15.7 在一个多边形中弹回一个点 428

15.8 资源和延伸阅读 436

第3部分 完整游戏 438

第16章 工具 438

16.1 创建一个游戏框架 438

16.2 更新多边形编辑器 450

16.3 绘制精灵 465

16.4 创建一个简单的粒子引擎 469

16.5 资源和延伸阅读 474

第17章 太空火箭 475

17.1 Bullet类 476

17.2 PolygonWrapper类 477

17.3 Particle类 480

17.4 Asteroid类 482

17.5 AsteroidFactory类 485

17.6 AsteroidExplosion类 488

17.7 Ship类 490

17.8 ShipFactory类 495

17.9 ShipExplosion类 497

17.10 添加游戏常量 498

17.11 Acme类 499

17.12 GameState类 500

17.13 Score类 501

17.14 QuickLooper类 502

17.15 QuickRestart类 503

17.16 HighScoreMgr类 505

17.17 管理状态 509

17.18 StateController类 510

17.19 CompleteGame类 511

17.20 GameLoading状态 514

17.21 AttractState类 520

17.22 PressSpaceToPlay模式 522

17.23 HighScore状态 523

17.24 GameInformationState类 524

17.25 LevelStarting状态 525

17.26 LevelPlaying状态 526

17.27 GameOver状态 533

17.28 EnterHighScoreName状态 534

17.29 创建构建脚本 539

17.30 资源和延伸阅读 540

第18章 结论 541

第1章 Hello World 541

第2章 输入 542

第3章 变换 542

第4章 时间和空间 542

第5章 简单游戏框架 543

第6章 Vector2f更新 543

第7章 相交测试 544

第8章 游戏原型 544

第9章 文件和资源 544

第10章 图像 545

第11章 文本 545

第12章 线程 546

第13章 声音 546

第14章 用ANT进行开发 547

第15章 碰撞检测 547

第16章 工具 547

第17章 太空火箭 548

资源和延伸阅读 549