图书介绍

Java游戏编程2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Java游戏编程
  • (美)David Brackeen著;邱仲潘译 著
  • 出版社: 北京:科学出版社
  • ISBN:7030129423
  • 出版时间:2004
  • 标注页数:663页
  • 文件大小:36MB
  • 文件页数:681页
  • 主题词:Java 语言与开发工具 程序语言与软件开发 计算机与互联网

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Java游戏编程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 Java游戏基础1

第1章 Java线程1

1.1 什么是线程1

目录1

1.2 在Java中生成与运行线程2

1.2.1 扩展Thread类2

1.2.2 实现Runnable接口3

1.2.3 使用匿名内类3

1.2.4 等待线程完成3

1.2.5 休眠线程3

1.3.1 为什么要同步4

1.3.2 如何同步4

1.3 同步4

1.3.3 同步是什么5

1.3.4 不同步是什么6

1.3.5 避免死锁6

1.4 使用wait()与notify()7

1.5 Java事件模型8

1.6 何时使用线程8

1.7 何时不使用线程8

1.8 线程池8

1.9 小结14

第2章 二维图形与动画15

2.1 全屏图形15

2.1.1 屏幕布局15

2.1.2 像素颜色与位深度16

2.1.3 刷新率17

2.1.4 将显示切换到全屏方式17

2.1.5 抗齿边21

2.1.6 选用显示方式22

2.2 图像23

2.2.1 透明度23

2.2.2 文件格式23

2.2.3 读取图像24

2.2.4 硬件加速图像27

2.2.5 图形绘制基准程序28

2.2.6 动画32

2.2.8 动画循环36

2.2.7 活动绘制36

2.3 避免闪烁与裂开39

2.3.1 双缓存40

2.3.2 翻页41

2.3.3 监视刷新与裂开42

2.3.4 BufferStrategy类42

2.3.5 生成屏幕管理器43

2.3.6 幽灵52

2.4 简单效果59

2.5 小结65

第3章 交互性与用户界面66

3.1 AWT事件模型69

3.2 键盘输入70

3.3 鼠标输入74

3.4 通过鼠标移动的观看模式78

3.5 创建输入管理器84

3.6 使用输入管理器97

3.6.1 暂停游戏97

3.6.2 增加重力98

3.7 设计直观用户界面105

3.8 使用Swing组件106

3.8.1 Swing基础106

3.8.2 在全屏方式中使用Swing107

3.9 创建简单菜单109

3.10 让游戏者配置键盘115

3.11 小结122

4.1 声音基础123

第4章 声效与音乐123

4.2 Java Sound API124

4.2.1 打开声音文件124

4.2.2 使用Line124

4.3 播放声音125

4.4 创建实时声音过滤体系结构131

4.5 创建实时回响过滤135

4.6 仿真三维声音139

4.6.1 生成三维过滤器的思路139

4.6.2 实现三维过滤器140

4.6.4 测试三维过滤器143

4.7 创建声音管理器147

4.7.1 Sound类147

4.7.2 SoundManager类148

4.7.3 线程局部变量157

4.8 播放音乐158

4.8.1 播放光盘声频158

4.8.2 播放MP3与Ogg Vorbis159

4.8.3 播放MIDI音乐159

4.8.4 生成适配音乐163

4.9 小结166

第5章 创建二维平台游戏167

5.1 生成基于地砖的地图167

5.1.1 实现Tile地图168

5.1.2 读取Tile地图172

5.1.3 绘制Tile地图175

5.1.4 绘制幽灵176

5.1.5 视差滚动177

5.1.6 充电器179

5.1.7 简单坏人181

5.2 碰撞探测190

5.2.1 探测碰撞190

5.2.2 处理碰撞191

5.2.3 幽灵碰撞194

5.3 完成与加速196

5.4 生成可执行的.jar文件196

5.5 扩展游戏197

5.6 小结198

第6章 多人游戏199

6.1 Java I/O库的变革200

6.1.2 信道201

6.1.1 JDK 1.4 NIO库的概述201

6.1.3 缓存203

6.1.4 选择器与SelectionKeys205

6.2 基本多方游戏应用程序206

6.2.1 服务器端206

6.2.2 建立与运行服务器212

6.2.3 客户端214

6.2.4 建立与运行客户机215

6.3 多方游戏服务器框架215

6.3.1 设计目标与战术215

6.3.2 设计216

6.3.3 共用类与接口219

6.3.4 服务器实现221

6.3.5 客户机229

6.4 RPS游戏(石头、布、剪刀)230

6.4.1 类230

6.4.2 运行RPS游戏233

6.5 建立框架235

6.5.1 客户机GUI235

6.5.2 持久性235

6.5.3 伙伴名单、门厅与闲聊235

6.6 服务器管理236

6.6.1 登记236

6.6.2 启动/关闭236

6.6.3 服务器管理控制台237

6.7.1 切断与重接238

6.7 高级课题238

6.6.4 游戏监查238

6.7.2 HTTP隧道239

6.7.3 量化测试240

6.7.4 Modem连接241

6.7.5 性能剖析与统计241

6.7.6 性能调整242

6.8 小结244

第二部分 三维图形与高级技术245

第7章 三维图形245

7.1 三维绘制的类型246

7.2 回顾曾经学过的数学246

7.2.2 向量数学247

7.2.1 三角学和直角三角形247

7.3 3D的基础252

7.4 3D的数学254

7.5 多边形259

7.6 三维变换262

7.6.1 旋转263

7.6.2 包装旋转和平移变换264

7.6.3 采用变换268

7.6.4 旋转顺序270

7.7 3D的简单管道270

7.8 镜头移动275

7.9 实体和背面删除275

7.9.1 点积276

7.9.2 交积277

7.9.3 再谈点积和交积279

7.10 扫描转换多边形280

7.11 三维剪取288

7.12 最后绘制管道291

7.13 小结299

第8章 纹理贴图与照明301

8.1 透视正确纹理贴图的基础301

8.2 简单纹理贴图器305

8.3 优化纹理贴图314

8.3.1 纹理的存储格式315

8.3.2 原始优化319

8.3.3 内联方法322

8.3.4 快速纹理贴图演示程序323

8.4 简单灯光324

8.4.3 光源强度325

8.4.4 距离减弱325

8.4.1 扩散反射325

8.4.2 环境光325

8.4.5 实现点光源326

8.5 实现纹理照明327

8.6 使用阴影图的高级照明334

8.6.1 求出边界矩形335

8.6.2 采用色档图337

8.6.3 建立色档图338

8.6.4 建立表面341

8.6.5 缓存表面344

8.6.6 阴影表面演示程序351

8.7.4 双线性插值352

8.7.3 MIP贴图352

8.7.5 三线性插值352

8.7 其他概念352

8.7.2 伪阴影352

8.7.1 深度提示352

8.7.6 法线图与深度353

8.7.7 其他类型的光353

8.8 小结353

第9章 三维对象354

9.1 表面消隐354

9.1.1 油画算法354

9.1.2 反油画算法355

9.1.3 Z缓存355

9.1.4 使用1/Z的Z缓存356

9.1.5 计算Z深度359

9.2 三维动画360

9.2.1 空间运动362

9.2.2 角度运动364

9.3 多边形组369

9.4 从OBJ文件装入多边形组375

9.4.1 OBJ文件格式375

9.4.2 MTL文件格式382

9.5 游戏实体384

9.6 管理游戏实体387

9.7 综合起来389

9.8 改进396

9.9 小结397

10.1 BSP树简介398

第10章 用BSP树管理三维视景398

10.2 二叉树基础399

10.3 一维BSP树401

10.4 二维BSP树403

10.4.1 建立BSP树404

10.4.2 BSP树遍历实例406

10.5 实现二维BSP树407

10.5.1 BSP Line409

10.5.2 确定点相对于直线的边409

10.5.3 BSP多边形413

10.5.4 遍历BSP树413

10.5.5 中序遍历415

10.5.6 由前到后遍历416

10.5.7 树的建立417

10.5.8 两条线求交421

10.5.9 用直线剪取多边形423

10.5.10 删除T形接头426

10.5.11 测试BSP树427

10.6 从前到后画多边形429

10.7 第一个BSP树例子438

10.8 在视景中画实体439

10.9 从文中装入贴图440

10.10 综合起来444

10.11 改进445

10.12 小结446

11.1 碰撞基础447

第11章 碰撞探测447

11.2 实体间碰撞448

11.2.1 减少测试448

11.2.2 边框球450

11.2.3 边框圆柱452

11.2.4 离散时间问题454

11.3 实体与世界碰撞455

11.3.1 测试地板的边框455

11.3.2 寻找特定位置的BSP叶456

11.3.3 实现地板和天花板高度测试457

11.3.4 测试墙的边框459

11.3.5 BSP树的线段交点460

11.3.7 实现实体/世界碰撞探测464

11.3.6 角问题464

11.4 基本碰撞探测演示程序467

11.5 滑动与碰撞处理467

11.5.1 实体间滑动468

11.5.2 实体沿墙的滑动470

11.5.3 重力与爬楼梯(实体沿地473

面滑动)473

11.5.4 实现跳动476

11.6 碰撞探测与滑动演示程序477

11.7 改进477

11.8 小结477

第12章 路径搜索478

12.1 路径寻找基础478

12.2 初步路径寻找方法478

12.3 A*算法基础482

12.4 采用A*算法487

12.5 BSP树与A*算法487

12.5.1 门户488

12.5.2 实现门户489

12.6 一般性路径寻找493

12.7 建立PathBot496

12.8 改进A*搜索500

12.9 小结500

第13章 人工智能502

13.1 人工智能基础502

13.2 减少Bot的神力503

13.2.1 视觉503

13.2.2 听觉505

13.3 状态机与响应507

13.4 概率机509

13.5 决策512

13.6 模式513

13.6.1 躲避514

13.6.2 攻击517

13.6.3 跑开519

13.6.4 瞄准520

13.6.5 射击521

13.7 实体派生522

13.8 综合起来523

13.8.1 大脑523

13.8.2 健康与死亡524

13.9.1 再生532

13.9 进化532

13.9.2 进化Bot534

13.9.3 演示改进538

13.10 进化538

13.11 小结539

第14章 游戏脚本540

14.1 关于脚本540

14.2 实现接触与释放通知541

14.3 游戏实体监听器544

14.4 脚本548

14.4.1 设计脚本549

14.4.2 嵌入BeanShell解释器551

14.5 延迟事件556

14.6 综合起来560

14.7 改进562

14.8 小结563

第15章 保存游戏564

15.1 游戏保存基础564

15.2 对游戏状态保存使用Java序列化API565

15.2.1 序列化简介565

15.2.2 序列化基础565

15.2.3 序列化规则567

15.2.4 序列化问题570

15.2.5 覆盖缺省行为573

15.3 生成游戏屏幕图形577

15.3.1 生成屏幕略图图形579

15.3.2 保存图形579

15.4 将游戏保存到正确目的地581

15.5 小结582

第三部分 调整与完成游戏583

第16章 优化技术583

16.1 优化规则583

16.2 剖析584

16.2.1 基准测试584

16.2.2 使用HotSpot剖析器584

16.3 HotSpot588

16.3.1 Java特定优化589

16.3.2 死亡代码消除589

16.3.3 循环不变项提升589

16.3.6 内联方法590

16.3.5 常量传递590

16.3.4 公共子表达式消除590

16.4 优化技巧591

16.4.1 算法591

16.4.2 移位592

16.4.3 求模593

16.4.4 乘法593

16.4.5 指数593

16.4.6 更多循环不变项提升594

16.4.7 查找表594

16.4.8 定点算术597

16.4.9 异常597

16.4.10 输入/输出597

16.5 内存使用与回收598

16.4.11 内存贴图文件598

16.5.1 Java堆与内存回收599

16.5.2 监视内存回收599

16.5.3 监视内存使用600

16.5.4 调整堆604

16.5.5 调用内存回收单元605

16.5.6 减少对象生成605

16.5.7 对象复用605

16.5.8 对象池606

16.6 感觉性能606

16.7 小结611

17.1 选择外观613

17.1.1 寻找灵感613

第17章 生成游戏图形与声音613

17.1.2 保持一致614

17.2 取得自由版权游戏媒体614

17.3 与艺术家和声效工程师合作615

17.4 工具615

17.5 生成声音615

17.6 生成纹理与幽灵616

17.6.1 图形文件格式617

17.6.2 生成无缝纹理617

17.6.3 生成替换纹理618

17.6.4 生成过渡纹理619

17.6.5 生成多层纹理620

17.7 生成漂亮屏幕与HUD图形621

17.8 生成UI图形621

17.9 生成字体622

17.10 小结628

第18章 游戏设计与最后10%629

18.1 最后10%629

18.1.1 效果630

18.1.2 游戏状态机630

18.2 游戏设计要素636

18.2.1 环境636

18.2.2 故事要素637

18.2.3 玩游戏638

18.2.4 告诉用户怎么玩639

18.3 生成贴图编辑器639

18.4 调试640

18.4.1 调试Java2D问题642

18.4.2 日志643

18.5 保护代码644

18.6 游戏部署645

18.7 Java Web Start游戏部署646

18.7.1 从jar文件取得资源646

18.7.2 签名jar文件647

18.7.3 生成JNLP文件647

18.7.4 设置Web服务器649

18.8 自然编译游戏部署650

18.9 更新与补丁650

18.10 带宽问题651

18.11 反馈与Beta测试651

18.13 综合起来652

18.12 赚钱652

18.14 小结653

第19章 未来654

19.1 Java的演变654

19.1.1 Java社团654

19.1.2 缺陷天堂(Bug Parade)654

19.2 Java 1.5(Tiger)655

19.2.1 一般(JSR 14)655

19.2.2 枚举(JSR 201)656

19.2.3 静态导入(JSR 201)657

19.2.4 改进for循环(JSR 201)657

19.3.1 更多鼠标与键盘输入选项658

19.3 Java平台需要什么658

19.2.7 共享虚拟机(JSR 121)658

19.2.6 网络传输格式(JSR 200)658

19.2.5 编译器API(JSR 199)658

19.3.2 游戏杆输入659

19.3.3 硬件加速半透明图像659

19.3.4 高精度定时器659

19.3.5 Linux中的硬件加速图形和全屏方式660

19.3.6 运行环境中的硬件加速三维660

特性660

19.3.7 HotSpot SIMD优化660

19.3.8 更多字体光顺选项661

19.3.9 其他情况662

19.4 新设备与Java Games Profile662

(JSR 134)662

19.5 小结663

热门推荐