内容简介
第1部分 基础知识
第1章 Hello World
1.1 使用FrameRate类
1.2 创建Hello World应用程序
1.3 使用主动渲染
1.4 创建定制的渲染线程
1.5 创建一个主动渲染的窗口
1.6 修改显示模式
1.7 全屏显示模式中的主动渲染
1.8 资源和延伸阅读
第2章 输入
2.1 处理键盘输入
2.2 键盘改进
2.3 处理鼠标输入
2.4 相对鼠标移动
2.5 资源和延伸阅读
第3章 变换
3.1 使用Vector2f类
3.2 使用极坐标
3.3 理解点和向量
3.4 使用矩阵变换
3.5 行主序矩阵和列主序矩阵
3.6 理解Matrix3x3f类
3.7 仿射变换
3.8 资源和延伸阅读
第4章 时间和空间
4.1 计算时间增量
4.2 屏幕映射
4.3 调整视口高宽比
4.4 大炮实例
4.5 资源和延伸阅读
第5章 简单游戏框架
5.1 屏幕到世界的转换
5.2 理解简单框架
5.3 使用简单框架模板
5.4 资源和延伸阅读
第6章 Vector2f更新
6.1 inv()
6.2 add()
6.3 sub()
6.4 mul()
6.5 div()
6.6 len()和lenSqr()
6.7 norm()
6.8 perp()
6.9 dot()
6.10 angle()
6.11 polar()
6.12 toString()
6.13 资源和延伸阅读
第7章 相交测试
7.1 多边形中的点的测试
7.1.1 多边形特例中的点
7.1.2 多边形示例中的点
7.2 使用轴对齐边界框进行相交测试
7.3 使用圆形测试相交
圆和AABB的重合
7.4 使用分隔轴方法
7.5 使用线段一线段的重叠方法
7.6 使用矩形一矩形的重叠方法
7.7 优化测试
7.8 资源和延伸阅读
第8章 游戏原型
8.1 创建一个多边形包装类
8.2 创建一个原型小行星
8.3 创建一个原型编辑器
8.4 用原型小行星工厂生产小行星
8.5 原型Bullet类
8.6 原型Ship类
8.7 编写原型游戏
8.8 资源和延伸阅读
第2部分 提高技能
第9章 文件和资源
9.1 理解Java如何处理文件和目录
9.2 理解输入/输出流
9.3 创建Resources.jar文件进行测试
9.4 将资源放到类路径上
9.5 制作资源加载工具包
9.6 利用Java属性
9.7 XML文件概览
9.8 资源和延伸阅读
第10章 图像
10.1 学习Java中的颜色
10.2 了解不同的图像类型
10.3 执行颜色插值
10.4 使用VolatileImage提高速度
10.5 创建透明图像
10.6 使用alpha合成的规则
10.7 绘制精灵
10.8 探索不同的缩放算法
10.9 资源与延伸阅读
第11章 文本
11.1 理解Java字体
11.2 制作绘制字符串工具
11.3 使用文本度量进行布局
11.4 支持线程安全的键盘输入
11.5 资源和延伸阅读
第12章 线程
12.1 使用线程实现Callable任务
12.2 使用线程加载文件
12.3 使用FakeHardware类测试
12.4 使用等待/通知方法
12.5 在游戏循环中使用线程
12.6 使用状态机
12.7 OneShotEvent类
12.8 LoopEvent类
12.9 RestartEvent类
12.10 多线程事件示例
12.11 资源和延伸阅读
第13章 声音
13.1 操作声音文件
13.2 使用声音库的问题
13.3 开发阻塞音频类
13.4 用阻塞的Clip类
13.5 使用AudioDataLine类
13.6 BlockingDataLine类
13.7 创建一个SoundEvent类
13.8 使用OneShotEvent类
13.9 使用LoopEvent类
13.10 使用RestartEvent类
13.11 添加声音控件
13.12 资源和延伸阅读
第14章 用ANT进行开发
14.1 安装ANT软件
14.2 理解构建脚本的格式
14.3 学习常见ANT任务
14.4 构建一个可扩展的构建脚本
14.5 资源和延伸阅读
第15章 碰撞检测
15.1 带碰撞检测的弹球
15.2 使用直线参数方程
15.3 查找直线—矩形相交
15.4 查找圆—直线相交
15.5 查找直线—直线相交
15.6 计算一个反射向量
15.7 在一个多边形中弹回一个点
15.8 资源和延伸阅读
第3部分 完整游戏
第16章 工具
16.1 创建一个游戏框架
16.2 更新多边形编辑器
16.3 绘制精灵
16.4 创建一个简单的粒子引擎
16.5 资源和延伸阅读
第17章 太空火箭
17.1 Bullet类
17.2 PolygonWrapper类
17.3 Particle类
17.4 Asteroid类
17.5 AsteroidFactory类
17.6 AsteroidExplosion类
17.7 Ship类
17.8 ShipFactory类
17.9 ShipExplosion类
17.10 添加游戏常量
17.11 Acme类
17.12 GameState类
17.13 Score类
17.14 QuickLooper类
17.15 QuickRestart类
17.16 HighScoreMgr类
17.17 管理状态
17.18 StateController类
17.19 CompleteGame类
17.20 GameLoading状态
17.21 AttractState类
17.22 PressSpaceToPlay模式
17.23 HighScore状态
17.24 GameInformationState类
17.25 LevelStarting状态
17.26 LevelPlaying状态
17.27 GameOver状态
17.28 EnterHighScoreName状态
17.29 创建构建脚本
17.30 资源和延伸阅读
第18章 结论
第1章 Hello World
第2章 输入
第3章 变换
第4章 时间和空间
第5章 简单游戏框架
第6章 Vector2f更新
第7章 相交测试
第8章 游戏原型
第9章 文件和资源
第10章 图像
第11章 文本
第12章 线程
第13章 声音
第14章 用ANT进行开发
第15章 碰撞检测
第16章 工具
第17章 太空火箭
资源和延伸阅读