标题：Java游戏编程
图书信息（一）
基本信息  Java游戏编程（附光盘）——游戏开发与编程系列 
图书作者： 北京希望电子出版社 总策划 David BRACKEEN 著 邱仲潘 译 
出版社： 科学出版社 
ISBN： 7030129423 
出版时间： 2004-6第1版 
印刷时间： 2004-6第1次印刷 
开 本： 16 
价 格(元)： 68
内容简介本书面向游戏开发人员及广大游戏编程爱好者，同时，也是大专院校相关专业师生的有力参考。本书配套光盘内容为书中实例源代码。Java在游戏编程方面的功能强大，本书将带领大家一步一步学习编写JAVA游戏，最终制做出自己满意的作品。
图书目录第一部分 Java游戏基础 
第1章 Java线程 1. 1 什么是线程 1. 2 在Java中生成与运行线程 1. 2. 1 扩展Thread类 1. 2. 2 实现Runnable接口 1. 2. 3 使用匿名内类 1. 2. 4 等待线程完成 1. 2. 5 休眠线程 1. 3 同步 1. 3. 1 为什么要同步 1. 3. 2 如何同步 1. 3. 3 同步是什么 1. 3. 4 不同步是什么 1. 3. 5 避免死锁 1. 4 使用wait 与notify 1. 5 Java事件模型 1. 6 何时使用线程 1. 7 何时不使用线程 1. 8 线程池 1. 9 小结 
第2章 二维图形与动画 2. 1 全屏图形 2. 1. 1 屏幕布局 2. 1. 2 像素颜色与位深度 2. 1. 3 刷新率 2. 1. 4 将显示切换到全屏方式 2. 1. 5 抗齿边 2. 1. 6 选用显示方式 2. 2 图像 2. 2. 1 透明度 2. 2. 2 文件格式2. 2. 3 读取图像 2. 2. 4 硬件加速图像 2. 2. 5 图形绘制基准程序 2. 2. 6 动画 2. 2. 7 活动绘制 2. 2. 8 动画循环 2. 3 避免闪烁与裂开 2. 3. 1 双缓存 2. 3. 2 翻页2. 3. 3 监视刷新与裂开 2. 3. 4 BufferStrategy类 2. 3. 5 生成屏幕管理器 2. 3. 6 幽灵 2. 4 简单效果 2. 5 小结 
第3章 交互性与用户界面 3. 1 AWT事件模型 3. 2 键盘输入 3. 3 鼠标输入 3. 4 通过鼠标移动的观看模式 3. 5 创建输入管理器 3. 6 使用输入管理器 3. 6. 1 暂停游戏 3. 6. 2 增加重力 3. 7 设计直观用户界面 3. 8 使用Swing组件 3. 8. 1 Swing基础 3. 8. 2 在全屏方式中使用Swing 3. 9 创建简单菜单 3. 10 游戏者配置键盘 3. 11 小结 
第4章 声效与音乐 4. 1 声音基础 4. 2 JavaSoundAPl 4. 2. 1 打开声音文件 4. 2. 2 使用Line 4. 3 播放声音 4. 4 创建实时声音过滤体系结构 4. 5 创建实时回响过滤 4. 6 仿真三维声音 4. 6. 1 生成三维过滤器的思路 4. 6. 2 实现三维过滤器 4. 6. 4 测试三维过滤器 4. 7 创建声音管理器 4. 7. 1 Sound类 4. 7. 2 SoundManager类 4. 7. 3 线程局部变量4. 8 播放音乐 4. 8. 1 播放光盘声频 4. 8. 2 播放MP3与OggVorbis 4. 8. 3 播放MIDI音乐4. 8. 4 生成适配音乐 4. 9 小结 
第5章 创建二维平台游戏 5. 1 生成基于地砖的地图 5. 1. 1 实现Tile地图 5. 1. 2 读取Tile地图 5. 1. 3 绘制Tile地图 5. 1. 4 绘制幽灵 5. 1. 5 视差滚动 5. 1. 6 充电器 5. 1. 7 简单坏人 5. 2 碰撞探测 5. 2. 1 探测碰撞 5. 2. 2 处理碰撞 5. 2. 3 幽灵碰撞 5. 3 完成与加速 5. 4 生成可执行的.jar文件 5. 5 扩展游戏 5. 6 小结 
第6章 多人游戏 6. 1 Java I/O库的变革 6. 1. 1 JDK 1. 4NIO库的概述 6. 1. 2 信道 6. 1. 3 缓存 6. 1. 4 选择器与SelectionKeys 6. 2 基本多方游戏应用程序6. 2. 1 服务器端 6. 2. 2 建立与运行服务器 6. 2. 3 客户端6. 2. 4 建立与运行客户机 6. 3 多方游戏服务器框架 6. 3. 1 设计目标与战术 6. 3. 2 设计 6. 3. 3 共用类与接口 6. 3. 4 服务器实现 6. 3. 5 客户机 6. 4 RPS游戏 石头. 布. 剪刀 6. 4. 1 类 6. 4. 2 运行RPS游戏 6. 5 建立框架 6. 5. 1 客户机GUI 6. 5. 2 持久性 6. 5. 3 伙伴名单. 门厅与闲聊 6. 6 服务器管理 6. 6. 1 登记 6. 6. 2 启动/关闭 6. 6. 3 服务器管理控制台 6. 6. 4 游戏监查 6. 7 高级课题 6. 7. 1 切断与重接 6. 7. 2 HTTP隧道 6. 7. 3 量化测试 6. 7. 4 Modem连接 6. 7. 5 性能剖析与统计 6. 7. 6 性能调整 6. 8 小结 
第二部分 三维图形与高级技术 
第7章 三维图形 7. 1 三维绘制的类型 7. 2 回顾曾经学过的数学 7. 2. 1 三角学和直角三角形 7. 2. 2 向量数学 7. 3 3D的基础 7. 4 3D的数学 7. 5 多边形 7. 6 三维变换 7. 6. 1 旋转 7. 6. 2 包装旋转和平移变换 7. 6. 3 采用变换 7. 6. 4 旋转顺序 7. 7 3D的简单管道 7. 8 镜头移动 7. 9 实体和背面删除 7. 9. 1 点积 7. 9. 2 交积 7. 9. 3 再谈点积和交积 7. 10 扫描转换多边形 7. 11 三维剪取 7. 12 最后绘制管道 7. 13 小结 
第8章 纹理贴图与照明 8. 1 透视正确纹理贴图的基础 8. 2 简单纹理贴图器 8. 3 优化纹理贴图 8. 3. 1 纹理的存储格式 8. 3. 2 原始优化 8. 3. 3 内联方法 8. 3. 4 快速纹理贴图演示程序 8. 4 简单灯光 8. 4. 1 扩散反射 8. 4. 2 环境光 8. 4. 3 光源强度 8. 4. 4 距离减弱 8. 4. 5 实现点光源 8. 5 实现纹理照明 8. 6 使用阴影图的高级照明 8. 6. 1 求出边界矩形 8. 6. 2 采用色档图 8. 6. 3 建立色档图 8. 6. 4 建立表面 8. 6. 5 缓存表面 8. 6. 6 阴影表面演示程序 8. 7 其他概念 8. 7. 1 深度提示 8. 7. 2 伪阴影 8. 7. 3 MIP贴图 8. 7. 4 双线性插值 8. 7. 5 三线性插值 8. 7. 6 法线图与深度 8. 7. 7 其他类型的光 8. 8 小结 
第9章 三维对象 9. 1 表面消隐 9. 1. 1 油画算法 9. 1. 2 反油画算法 9. 1. 3 Z缓存 9. 1. 4 使用1/Z的Z缓存 9. 1. 5 计算Z深度 9. 2 三维动画 9. 2. 1 空间运动 9. 2. 2 角度运动 9. 3 多边形组 9. 4 从OBJ文件装入多边形组 9. 4. 1 0BJ文件格式 9. 4. 2 MTL文件格式 9. 5 游戏实体 9. 6 管理游戏实体 9. 7 综合起来 9. 8 改进 9. 9 小结 
第10章 用BSP树管理三维视景 10. 1 BSP树简介 10. 2 二叉树基础 10. 3 一维BSP树 10. 4 二维BSP树 10. 4. 1 建立BSP树 10. 4. 2 BSP树遍历实例 10. 5 实现二维BSP树 10. 5. 1 BSPLine 10. 5. 2 确定点相对于直线的边 10. 5. 3 BSP多边形 10. 5. 4 遍历BSP树 10. 5. 5 中序遍历 10. 5. 6 由前到后遍历 10. 5. 7 树的建立 10. 5. 8 两条线求交 10. 5. 9 用直线剪取多边形 10. 5. 10 删除T形接头 10. 5. 11 测试BSP树 10. 6 从前到后画多边形 10. 7 
第一个BSP树例子 10. 8 在视景中画实体 10. 9 从文中装入贴图 10. 10 综合起来 10. 11 改进 10. 12 小结 
第11章 碰撞探测 11. 1 碰撞基础 11. 2 实体间碰撞 11. 2. 1 减少测试 11. 2. 2 边框球 11. 2. 3 边框圆柱 11. 2. 4 离散时间问题 11. 3 实体与世界碰撞 11. 3. 1 测试地板的边框 11. 3. 2 寻找特定位置的BSP叶 11. 3. 3 实现地板和天花板高度测试 11. 3. 4 测试墙的边框 11. 3. 5 BSP树的线段交点 11. 3. 6 角问题 11. 3. 7 实现实体/世界碰撞探测 11. 4 基本碰撞探测演示程序 11. 5 滑动与碰撞处理 11. 5. 1 实体间滑动 11. 5. 2 实体沿墙的滑动 11. 5. 3 重力与爬楼梯 实体沿地 面滑动 11. 5. 4 实现跳动 11. 6 碰撞探测与滑动演示程序 11. 7 改进 11. 8 小结 
第12章 路径搜索 12. 1 路径寻找基础 12. 2 初步路径寻找方法 12. 3 A*算法基础 12. 4 采用A*算法 12. 5 BSP树与A*算法 12. 5. 1 门户 12. 5. 2 实现门户 12. 6 一般性路径寻找 12. 7 建立PathBot 12. 8 改进A*搜索 12. 9 小结 
第13章 人工智能 13. 1 人工智能基础13. 2 减少Bot的神力 13. 2. 1 视觉 13. 2. 2 听觉 13. 3 状态机与响应 13. 4 概率机 13. 5 决策 13. 6 模式 13. 6. 1 躲避 13. 6. 2 攻击 13. 6. 3 跑开 13. 6. 4 瞄准 13. 6. 5 射击 13. 7 实体派生 13. 8 综合起来 13. 8. 1 大脑 13. 8. 2 健康与死亡 13. 9 进化 13. 9. 1 再生 13. 9. 2 进化Bot 13. 9. 3 演示改进 13. 10 进化 13. 11 小结 
第14章 游戏脚本14. 1 关于脚本 14. 2 实现接触与释放通知 14. 3 游戏实体监听器 14. 4 脚本 14. 4. 1 设计脚本 14. 4. 2 嵌入BeanShell解释器14. 5 延迟事件 14. 6 综合起来 14. 7 改进 14. 8 小结 
第15章 保存游戏 15. 1 游戏保存基础 15. 2 对游戏状态保存使用Java序列化 API 15. 2. 1 序列化简介 15. 2. 2 序列化基础 15. 2. 3 序列化规则 15. 2. 4 序列化问题 15. 2. 5 覆盖缺省行为 15. 3 生成游戏屏幕图形 15. 3. 1 生成屏幕略图图形 15. 3. 2 保存图形 15. 4 将游戏保存到正确目的地 15. 5 小结 
第三部分 调整与完成游戏 
第16章 优化技术 16. 1 优化规则 16. 2 剖析 16. 2. 1 基准测试 16. 2. 2 使用HotSpot剖析器 16. 3 HotSpot 16. 3. 1 Java特定优化 16. 3. 2 死亡代码消除 16. 3. 3 循环不变项提升 16. 3. 4 公共子表达式消除 16. 3. 5 常量传递 16. 3. 6 内联方法 16. 4 优化技巧 16. 4. 1 算法 16. 4. 2 移位 16. 4. 3 求模 16. 4. 4 乘法 16. 4. 5 指数 16. 4. 6 更多循环不变项提升 16. 4. 7 查找表 16. 4. 8 定点算术 16. 4. 9 异常 16. 4. 10 输入/输出 16. 4. 11 内存贴图文件 16. 5 内存使用与回收 16. 5. 1 Java堆与内存回收 16. 5. 2 监视内存回收 16. 5. 3 监视内存使用 16. 5. 4 调整堆 16. 5. 5 调用内存回收单元 16. 5. 6 减少对象生成 16. 5. 7 对象复用 16. 5. 8 对象池 16. 6 感觉性能 16. 7 小结 
第17章 生成游戏图形与声音 17. 1 选择外观 17. 1. 1 寻找灵感 17. 1. 2 保持一致 17. 2 取得自由版权游戏媒体 17. 3 与艺术家和声效工程师合作 17. 4 工具 17. 5 生成声音 17. 6 生成纹理与幽灵 17. 6. 1 图形文件格式 17. 6. 2 生成无缝纹理 17. 6. 3 生成替换纹理 17. 6. 4 生成过渡纹理 17. 6. 5 生成多层纹理 17. 7 生成漂亮屏幕与HUD图形 17. 8 生成UI图形 17. 9 生成字体17. 10 小结 
第18章 游戏设计与最后10% 18. 1 最后10% 18. 1. 1 效果 18. 1. 2 游戏状态机 18. 2 游戏设计要素 18. 2. 1 环境 18. 2. 2 故事要素 18. 2. 3 玩游戏 18. 2. 4 告诉用户怎么玩 18. 3 生成贴图编辑器18. 4 调试 18. 4. 1 调试Java2D问题 18. 4. 2 日志 18. 5 保护代码 18. 6 游戏部署 18. 7 JavaWebStart游戏部署 18. 7. 1 从jar文件取得资源 18. 7. 2 签名jar文件 18. 7. 3 生成JNLP文件 18. 7. 4 设置Web服务器 18. 8 自然编译游戏部署 18. 9 更新与补丁18. 10 带宽问题 18. 11 反馈与Beta测试18. 12 赚钱 18. 13 综合起来 18. 14 小结 
第19章 未来 19. 1 Java的演变 19. 1. 1 Java社团 19. 1. 2 缺陷天堂 BugParade 19. 2 Java 1. 5 Tiger 19. 2. 1 一般 JSRl4 19. 2. 2 枚举 JSR201 19. 2. 3 静态导入口 JR201 19. 2. 4 改进for循环 JSR201 19. 2. 5 编译器API JSRl99 19. 2. 6 网络传输格式 JSR200 19. 2. 7 共享虚拟机JSR121 19. 3 Java平台需要什么 19. 3. 1 更多鼠标与键盘输入选项 19. 3. 2 游戏杆输入 19. 3. 3 硬件加速半透明图像 19. 3. 4 高精度定时器19. 3. 5 Linux中的硬件加速图形和全屏 方式 19. 3. 6 运行环境中的硬件加速三维 特性 19. 3. 7 HotSpotSIMD优化 19. 3. 8 更多字体光顺选项 19. 3. 9 其他情况 19. 4 新设备与Java Games Profile JSR134 19. 5 小结 
Java 是一个由 Sun 公司开发而成的新一代编程语言。使用它可在各式各样不同机器、不同操作平台的网络环境中开发软件。
游戏编程属于软件开发。用编程制作软件属于编程，但是指在进行中，而一但编制完整就属于软件开发了。
图书信息（二）
基本信息书名:Java游戏编程 
图书编号:2333528 
出版社:机械工业出版社
定价:39.0 
ISBN:711119993 
作者:Harbourr, 
出版日期:2007-01-01 
开本:24cm
图书目录第一部分　Java编程入门
第1章　Java 5入门
1.1　游戏产业新动向
1.2　休闲游戏的兴起
1.2.1　休闲游戏玩家
1.2.2　休闲游戏
1.3　Java游戏
1.3.1　不需要Java开发经验
1.3.2　开发工具
1.3.3　安装最新的JDK
1.3.4　版本号和修订灾难
1.3.5　从命令行编译
1.4　编写第一个Java程序
1.4.1　DrinkJava程序
1.4.2　Appletizer程序
本章小结
复习题
练习题
第2章　Java编程基础
2.1　JavaApplet
2.1.1　Web服务器技术简介
2.1.2　寄存Java Applet
2.2　Java语言
2.2.1　Java数据类型
2.2.2　类的基础知识
2.2.3　main函数
2.2.4　面向对象编程
本章小结
复习题
练习题
第3章　键盘和鼠标输入
3.1　监听用户
3.2　键盘输入
3.2.1　监听键盘事件
3.2.2　测试键盘输入
3.2.3　创建KeyboardTest项目
3.3　鼠标输入
3.3.1　读取鼠标移动
3.3.2　检测鼠标按钮
3.3.3　测试鼠标输入
本章小结
复习题
练习题
第4章　声音效果和音乐
4.1　播放数字化声音样本文件
4.1.1　Java声音起步
4.1.2　播放声音
4.2　播放MIDI序列文件
4.2.1　载入MIDI文件
4.2.2　播放音乐
4.3　可复用的类
4.3.1　SoundClip类
4.3.2　MidiSequence类
本章小结
复习题
练习题
第5章　创建第一个Java游戏
5.1　有关游戏项目
5.2　创建游戏
5.2.1　在JBuilder中创建一个项目
5.2.2　BaseVectorShape类
5.2.3　Ship类
5.2.4　Bullet类
5.2.5　Asteroid类
5.2.6　主源代码文件
本章小结
复习题
练习题
第二部分　Java 2D游戏编程
第6章　Java 2D——矢量图和位图
第7章　游戏循环、计时和线程
第8章　基本2D角色——声名狼藉的精灵
第9章　高级精灵编程——动画
第10章　创建一个Java游戏框架
第11章　扩展和优化Galactic War
第12章　将Java游戏部署到Web上
附录