注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络游戏设计Java 2D游戏编程入门

Java 2D游戏编程入门

Java 2D游戏编程入门

定 价:¥79.00

作 者: (美)Timothy Wright 莱特
出版社: 人民邮电出版社
丛编项:
标 签: 计算机/网络 图形图像 多媒体 游戏开发/多媒体/课件设计

购买这本书可以去


ISBN: 9787115392770 出版时间: 2015-07-01 包装:
开本: 页数: 字数:  

内容简介

  学习2D游戏开发基础,是快速积累游戏开发经验的关键。理解了2D环境的要素,将能够为游戏开发打下坚实的基础。本书讲解使用Java进行2D游戏开发的基础知识和基本技能。本书共18章,分为基础知识、提高技能和完整游戏3个部分,详细介绍应用编程、全屏游戏、输入处理、矩阵变换、基础物理、相交测试、碰撞检测等知识点和技能,最后采用介绍的所有概念,从头到尾开发了一款完整的游戏。 本书适合游戏开发的初学者阅读,尤其适合想要学习2D游戏编程基础的任何人。本书假设读者理解核心编程概念、面向对象软件以及Java编程语言,但不需要读者具备任何游戏编程的知识。

作者简介

  Timothy M. Wright是一名软件工程师,正在开发下一个美妙的独立游戏。最近10年,他都在公司的研发部门工作。此前,他是一位专业的音乐家。他获得了软件工程的学士学位,并且从事了很多年的研究和开发工作。他编写Java代码有10年以上的时间,并且之前在gamedev.net上发布了教程。在不开发游戏的时候,他喜欢钢琴爵士乐、打扑克、烹饪和酿造啤酒。

图书目录

目录
第一部分 基础知识 1
第1章Hello World 1
1.1使用FrameRate类 1
1.2创建Hello World应用程序 2
1.3使用主动渲染 4
1.4创建定制的渲染线程 6
1.5创建一个主动渲染的窗口 9
1.6修改显示模式 11
1.7全屏显示模式中的主动渲染 15
1.8资源和延伸阅读 18
第2章 18
2.1处理键盘输入 19
2.2键盘改进 23
2.3处理鼠标输入 25
2.4相对鼠标移动 33
2.5资源和延伸阅读 41
第3章变换 41
3.1使用Vector2f类 42
3.2使用极坐标 50
3.3理解点和向量 55
3.4使用矩阵变换 57
3.5行主序矩阵和列主序矩阵 58
3.6理解Matrix3x3f类 59
3.7仿射变换 70
3.8资料和延伸阅读 72
第4章 时间和空间 72
4.1计算时间增量 72
4.2屏幕映射 78
4.3调整视口高宽比 84
4.4大炮实例 90
4.6资料和延伸阅读 96
第5章 简单游戏框架 96
5.1屏幕到世界的转换 96
5.2理解简单框架 98
5.3使用简单框架模板 104
5.4资源和延伸阅读 106
第6章Vector2f更新 106
6.1 inv( ) 106
6.2add( ) 107
6.3sub( ) 107
6.4mul( ) 107
6.5div( ) 108
6.6len( )和lenSqr( ) 108
6.7norm( ) 108
6.8perp( ) 109
6.9dot( ) 109
6.10angle( ) 110
6.11polar( ) 110
6.12toString( ) 110
6.12资源和延伸阅读 113
第7章 相交测试 113
7.1多边形中的点的测试 113
7.1.1多边形特例中的点 115
7.1.2多边形示例中的点 116
7.2使用轴对齐边界框进行相交测试 120
7.3使用圆形测试相交 121
圆和AABB的重合 122
7.4使用分隔轴方法 129
7.5使用线段-线段的重叠方法 130
7.6使用矩形-矩形的重叠方法 133
7.7优化测试 137
7.8资源和延伸阅读 137
第8章 游戏原型 138
8.1创建一个多边形包装类 138
8.2创建一个原型小行星 145
8.3创建一个原型编辑器 149
8.4用原型小行星工厂生产小行星 153
8.5原型Bullet类 159
8.6原型Ship类 160
8.7编写原型游戏 165
第9章文件和资源 172
9.1理解Java如何处理文件和目录 172
9.2理解输入/输出流 174
9.3创建Resources.jar文件进行测试 179
9.4将资源放到类路径上 181
9.5制作资源加载工具包 184
9.6利用Java属性 186
9.7XML文件概览 191
9.8资源和延伸阅读 199
第10章图像 199
10.1学习Java中的颜色 199
10.2了解不同的图像类型 200
10.3执行颜色插值 205
10.4使用VolatileImage提高速度 209
10.5创建透明图像 213
10.6使用alpha合成的规则 215
10.7绘制精灵 222
10.8探索不同的缩放算法 231
10.9资源与延伸阅读 246
第11章文本 246
11.1理解Java字体 247
11.2制作绘制字符串工具 251
11.3使用文本度量进行布局 254
11.4支持线程安全的键盘输入 265
11.5资源和延伸阅读 271
第12章 线程 271
12.1使用线程实现Callable任务 272
12.2使用线程加载文件 274
12.3使用FakeHardware类测试 277
12.4使用等待/通知方法 281
12.5在游戏循环中使用线程 283
12.6使用状态机 291
12.7 OneShotEvent类 292
12.8LoopEvent类 294
12.9RestartEvent类 296
12.10多线程事件示例 299
12.11资源和延伸阅读 301
第13章声音 301
13.1操作声音文件 303
13.2使用声音库的问题 304
13.3开发阻塞音频类 308
13.4用阻塞的Clip类 310
13.5使用AudioDataLine类 314
13.6BlockingDataLine类 320
13.7创建一个SoundEvent类 322
13.8使用OneShotEvent类 324
13.9使用LoopEvent类 325
13.10使用RestartEvent类 326
13.11添加声音控件 331
13.12资源和延伸阅读 339
第14章用ANT进行开发 339
14.1安装ANT软件 340
14.2理解构建脚本的格式 340
14.3学习常见ANT任务 343
14.4构建一个可扩展的构建脚本 345
14.5资源和延伸阅读 350
第15章碰撞检测 351
15.1带碰撞检测的弹球 351
15.2使用直线参数方程 355
15.3查找直线-矩形相交 356
15.4查找圆-直线相交 362
15.5查找直线-直线相交 367
15.6计算一个反射向量 372
15.7在一个多边形中弹回一个点 375
15.8资源和延伸阅读 381
第16章工具 382
16.1创建一个游戏框架 382
16.2更新多边形编辑器 394
16.3绘制精灵 408
16.4创建一个简单的粒子引擎 411
16.5资源和延伸阅读 416
第17章太空火箭 416
17.1 Bullet类 417
17.2PolygonWrapper类 418
17.3Particle类 421
17.4Asteroid类 422
17.5AsteroidFactory类 425
17.6AsteroidExplosion类 428
17.7Ship类 430
17.8ShipFactory类 435
17.9ShipExplosion类 437
17.10添加游戏常量 438
17.11Acme类 439
17.12GameState类 440
17.13Score类 441
17.14QuickLooper类 441
17.15QuickRestart类 443
17.16HighScoreMgr类 445
17.17管理状态 448
17.18StateController类 449
17.19CompleteGame类 450
17.20GameLoading状态 453
17.21AttractState类 458
17.22PressSpaceToPlay模式 461
17.23HighScore状态 461
17.24GameInformationState类 462
17.25LevelStarting状态 463
17.26LevelPlaying状态 464
17.27GameOver状态 470
17.28EnterHighScoreName状态 471
17.29创建构建脚本 476
17.30资源和延伸阅读 477
第18章结论 477
资源和延伸阅读 482

本目录推荐