《Java游戏高级编程》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)David Wallace Croft著;彭晖译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:7302110832
  • 页数:425 页
图书介绍:本书讲述了Java游戏编程的高级主题,包括部署框架、Swing动画、游戏体系结构以及一些通信和同步技术等。本书提供了大量示例游戏。

目录 1

第1章 配置开发环境 1

1.1 升级到Java 1.4 1

1.2 内核类 1

1.3 在线运行Demo版程序 2

1.4 深入游戏库 3

1 4 1 croftsoft目录 3

1 4 2 arc目录 4

1 4.3 bin目录 4

1 4 4 doc目录 4

1 4 5 ext目录 5

1 4 6 lib目录 5

1 4.7 lic目 5

1 4 8 res目录 5

1.5 XML简介 6

1.4 10 tmp目录 6

1 4 9 src目录 6

1.6 使用Ant编译 7

1.7 使用开放源代码 10

1 7 1 学习版权的基本知识 10

1 7 2 选择一个许可 11

1 7 3 重命名修改后的代码 12

1 7 4 共享源代码 13

1.8 为游戏获取多媒体资源 13

1 8 1 图片资源 13

1 8 2 音频资源 14

1.9 基本示例 15

1 9 1 修改源代码 15

1 9 2 修改构建文件 26

1.10 小结 27

1.1 1 参考文献 27

2 1 1 实现生命周期方法 28

2.1 部署为applet 28

第2章 部署框架 28

2 1 2 管理applet动画线程 30

2 1 3 读取JAR文件 34

2 1 4 使用插件升级客户端 36

2 1 5 了解存在的限制 38

2 1 6 applet签名 38

2 1 7 缓存applet 39

2.2 部署为可执行JAR 39

2 2 1 生成清单文件 39

2 2 2 对不安全性进行保护 40

2.3 用Java Web Start进行部署 40

2 3 1 准备发布文件 41

2 3 2 访问默认浏览器 43

2 3 3 使用反射进行动态链接 46

2.4 将多个applet部署为一个applet 47

2 4.1 MultiAppletStup 48

2 4 2 MultiAppletNews 50

2.4 3 L1fecycle 54

2 4 4 LifecycleWindowListener 54

2 4.5 MultiApplet 58

2 4 6 CroftSoftaCollection 65

2.5 小结 67

2.6 参考文献 68

第3章 Swing动画 69

3.1 ComponentAnimator 69

3 1 1 更新和绘制阶段 70

3 1 2 精灵的定义 70

3 1 3 ExampleAnimator 71

3.2 RepaintCollector 73

3 2 1 Swing串行化 73

3 2 2 动画的问题 73

3 2 3 RepaintCollector 75

3 2 4 SimpleRepaintCollector 75

3.2 5 BooleanRepaintCollector 77

3.2 6 CoalescingRepaintCollector 78

3 2 7 其他实现 81

3.3 LoopGovernor 81

3 3 1 固定的延迟 82

3 3 2 帧速率同步 84

3 3.3 SamplerLoopGovemor 85

3 3 4 WindowedLoopGovernor 85

3.4 AnimatedComponent 90

3.5 小结 98

3.6 参考文献 98

第4章 动画库 99

4.1 ComponentPainter实现 99

4.1.1 NullComponentPainter 99

4 1 2 ArrayComponentPainter 99

4 1 3 ColorPainter 101

4 1.4 SpacePainter 103

4 1.5 TilePainter 106

4.2 ComponentUpdater实现 114

4 2.1 NullComponentUpdater 114

4 2 2 ArrayComponentUpdater 115

4 2.3 EdgeScrollUpdater 115

4.3 ComponentAnimator实现 120

4 3 1 NullComponentAnimator 120

4 3 2 TileAnimator 120

4 3 3 FrameRateAnimator 122

4.3 4 CursorAnimator 126

4.4 Sprite实现 131

4 4.1 Sprite 131

4 4 2 AbstractSprite 132

4.4.3 IconSprite 135

4.4 4 BounceUpdater 137

4 4 5 IconSequenceUpdater 141

4.5 小结 143

5.1.1 Image 144

第5章 高级图形技术 144

5.1 硬件加速图像 144

5.1 2 BufferedImage 145

5 1 3 VolatileImage 145

5 1 4 自动图像 146

5 1 5 兼容图像 146

5 1.6 缓存算法 149

5.2 多缓冲和多线程 150

5.3 全屏独占模式 160

5 3 1 启用全屏模式 160

5 3.2 FullScreenToggler 161

5 3 3 配置帧 165

5 3 4 改变显示模式 165

5.3.5 DisplayModeLib 166

5 3 6 GraphicsDeviceLib 166

5.3 7 消除锯齿 167

5 3.8 BufferStrategyAnimatedComponent 168

5 3.9 FullScreenDemo 170

5 3 10 使用独占模式的顾虑 177

5.4 小结 177

5.5 参考文献 177

第6章 持久数据 178

6.1 数据格式 178

6 1 1 对象串行化 178

6 1 2 属性 181

6 1 3 XML 182

6 1 4 瓦片地图图像 190

6 1 5 随机种子 193

6.2 持久性机制 195

6 2 1 JAR资源文件 196

6 2 2 用户主目录文件 197

6 2 3 JNLP持久性 200

6 2 4 applet持久性 203

6 2.5 稳固持久性 206

6 2 6 嵌入式数据库 211

6 2 7 服务器端的持久性 212

6.3 数据完整性 214

6 3.1 消息摘要 214

6.3 2 散列缓存 215

6.4 小结 217

6.5 参考文献 217

7.2 继承 218

7.1 接口 218

第7章 游戏体系结构 218

7.3 目标Mars 221

7.4 模型-视图-控制器 221

7 4 1 模型 222

7 4 2 多重接口继承 224

7 4 3 视图 234

7 4 4 控制器 240

7 5 1 复合模型 243

7.5 复合MVC 243

7 5 2 复合视图 254

7 5 3 复合控制器 260

7 5.4 将三者进行组合 260

7.6 数据驱动设计 264

7.6.1 AnimationInit 264

7 6 2 AnimatedApplet 265

7.7 小结 269

7.8 参考文献 269

第8章 A*算法 270

8.1 Cartographer 271

8.2 NodeInfo 272

8.3 AStar 273

8.4 AStarTest 279

8.5 SpaceTester 283

8.6 GridCartographer 283

8.7 GradientCartographer 286

8.8 TankConsole 289

8.9 TankOperator 290

8.10 StateSpaceNode 291

8.11 TankCartographer 292

8.12 Default Tank Operator 293

8.13 PlayerTankOperator 297

8.14 小结 299

8.15 参考文献 300

第9章 HTTP隧道技术 301

9.1 测试示例 302

9.2 可重用的客户端代码 303

9 2 1 Encoder 304

9 2.2 Parser 304

9 2 3 StreamLib 304

9 2 4 StringCoder 305

9 2 5 HttpLib 306

9 2 6 Queue 308

9 2 7 ListQueue 309

9 2 8 Loopable 312

9 2 9 Looper 313

9 2 10 HttpMessagePusher 315

9.3 游戏特定的客户端代码 318

9.4 可重用的服务器端代码 323

9 4 1 Server 323

9 4 2 HttpGatewayServlet 324

9.5 游戏特定的服务器端代码 327

9.6 打包WAR 330

9 6 1 web xml 330

9 6 2 build xml 331

9.7 小结 332

9.8 参考文献 332

第10章 HTTP轮询机制 333

10.1 测试示例程序 333

10 2 1 SerializableCoder 334

10.2 可重用的客户端代码 334

10 2 2 HttpMessagePoller 335

10 2 3 Consumer 340

10 2 4 QueuePuller 340

10.2.5 HttpMessageClient 342

10.3 游戏特定的客户端代码 345

10 3 1 Request 345

10 3 2 AbstractRequest 346

10 3 3 FireRequest 346

10.3 4 MoveRequest 347

10 3 5 ViewRequest 348

10 3 6 GameData 348

10 3.7 Synchronizer 350

10 3 8 NetController 354

10 3 9 NetMain 356

10.4 可重用的服务器端代码 357

10.4.1 XmlBeanCoder 358

10 4 2 SerializableLib 359

10.5 游戏特定的服务器端代码 360

10 5 1 GameInit 360

10 5 2 Player 362

10 5 3 NetGame 363

10 5 4 MarsServer 370

10 5 5 MarsServlet 376

10.6 小结 378

10.7 参考文献 378

第11章 HTTP Pulling机制 379

11.1 测试示例 379

11.2 可重用的客户端代码 381

11 2.1 Authentication 381

11 2 2 Id 381

11 2 3 LongId 382

11 2 5 SeriModelId 383

112 4 ModelId 383

11.3 游戏特定的客户端代码 384

11 3 1 Request 384

11 3 2 CoalesceableRequest 384

11 3 3 ChatController 385

11 3 4 Response 386

11 3 5 CreateUserConsumer 386

11 3 6 Event 387

11 3 7 ChatClient 387

11 3 8 ChatSynchronizer 393

11 3 9 ChatPanel 395

11 3.10 ChatApplet 398

11.4 服务器端代码 400

11 4.1 User 400

11 4 2 UserStore 401

11 4 3 PullServer 402

11 4 4 MoveServer 403

11 4.5 SeriChatGame 404

11 4 6 ChatServer 409

11.5 跟踪消息 411

11 5 1 多玩家联网模式 412

11 5 2 单玩家本地模式 413

11.6 扩展示例 414

11.7 小结 414

11.8 参考文献 415

附录A 源代码索引 416

附录B CVS简介 420

B.1 检出代码 420

B.2 创建自己的项目 421

B.3 并行程序设计 423

B 3 1 实施代码所有权 423

B 3 2 互相监视 424

B 3 3 创建分支 425

B.4 参考文献 425