图书目录

目    录

第1章  无限欢乐的游戏世界 1

1.1  游戏的意义与内涵 1

1.1.1  游戏的组成要素 1

1.1.2  认识游戏平台 2

1.2  游戏设计初体验 4

1.2.1  建立游戏主题 4

1.2.2  游戏系统的基本设定 6

1.2.3  游戏系统的流程控制技巧 6

1.2.4  游戏制作的完整流程 7

1.2.5  常见游戏类型介绍 9

1.3  漫谈游戏开发环境与程序设计 10

1.3.1  使用Java语言开发游戏 11

1.3.2  Java的执行平台 12

1.3.3  Java的执行速度 14

1.3.4  Java的属性与功能 14

第2章  Java快速学习 16

2.1  开发环境的安装与设定 16

2.1.1  J2SDK的下载与安装 16

2.1.2  API说明文件 17

2.1.3  简单的应用程序 18

2.2  Java面向对象程序设计 20

2.2.1  面向对象的基本概念 20

2.2.2  对象 22

2.3  Java的类语法 24

2.3.1  定义类(Class) 24

2.3.2  包 26

2.3.3  类继承 28

2.3.4  类属性成员 29

2.3.5  类方法成员 32

2.3.6  深入类 35

2.3.7  接口 42

第3章  Applet与基础绘图 45

3.1  认识Applet 45

3.1.1  Applet类 45

3.1.2  Applet程序坐标与参数传递 46

3.1.3  Applet程序的生命周期 47

3.2  基础绘图 49

3.2.1  使用paint()方法 50

3.2.2  使用Graphics类绘制字符串 52

3.2.3  Graphics类的其他绘图方法 58

3.2.4  图形与图像的“深度” 62

3.3  绘制图像 65

3.3.1  图像类型的支持 65

3.3.2  取得图像及绘制 66

3.3.3  图像追踪 69

3.3.4  页面切换 74

3.3.5  制作透明背景 77

第4章  动画的制作 80

4.1  动画的原理 80

4.1.1  视觉暂留 80

4.1.2  设定合理的FPS 81

4.1.3  动画的类型 82

4.2  图像的运动 82

4.2.1  动画循环 82

4.2.2  使用线程 86

4.2.3  消除动画的闪烁 90

4.2.4  使用合理的FPS 97

4.2.5  改善动画播放效果 99

4.3  动画的简单实例 106

4.3.1  游戏开头画面 106

4.3.2  制作电子小时钟 113

第5章  交互与声音 119

5.1  如何和玩家交互 119

5.1.1  事件处理机制 119

5.1.2  如何处理事件 122

5.2  事件的实例应用 127

5.2.1  鼠标事件处理 127

5.2.2  键盘事件处理 135

5.3  声音的使用 140

5.3.1  Java可使用的声音文件 140

5.3.2  下载声音文件 140

5.3.3  使用声音文件 141

第6章  游戏动画高级制作 145

6.1  游戏动画 145

6.1.1  角色与动画 145

6.1.2  角色碰撞侦测 146

6.1.3  碰撞实例 148

6.1.4  定义角色父类 154

6.1.5  角色动画与帧动画结合 156

6.1.6  贴图技巧 164

6.2  游戏范例-- “棒打猪头” 169

第7章  强化游戏界面 180

7.1  使用AWT组件 180

7.1.1  认识AWT组件 180

7.1.2  建立AWT组件实例 181

7.1.3  版面配置 183

7.1.4  结合Panel与LayoutManager 189

7.1.5  处理AWT组件的事件 191

7.2  网页游戏界面 196

7.2.1  使用网页特效 197

7.2.2  输入参数到Applet中 199

7.3  实现范例-- “棒打猪头”v2.0 200

第8章  浅谈人工智能与2.5D游戏 206

8.1  浅谈人工智能 206

8.1.1  何谓人工智能 206

8.1.2  基本的人工智能概念 207

8.1.3  游戏难度设定 216

8.2  浅谈2.5D游戏 218

第9章  绘图算法 220

9.1  粒子系统 220

9.1.1  烟火粒子 220

9.1.2  瀑布粒子 224

9.1.3  烟粒子 228

9.1.4  烟火树与喷泉 232

9.1.5  雪花粒子 236

9.2  立体绘图与旋转 239

9.2.1  旋转立体五角锥 239

9.2.2  具有远近感的立体对象 247

9.2.3  其他立体坐标定位法 254

第10章  扫雷 261

10.1  游戏规划 261

10.1.1  游戏玩法及规则 262

10.1.2  游戏设计分析 265

10.1.3  游戏规划注意事项 266

10.2  游戏流程 266

10.3  技巧应用 267

10.3.1  地雷区状态 267

10.3.2  自动清除空白方格 268

10.3.3  依方格标示自动翻开 270

10.4  程序代码说明 271

第11章  迷宫 291

11.1  游戏规划 291

11.2  平面迷宫 291

11.2.1  平面迷宫规划 292

11.2.2  角色状态 292

11.2.3  绘图与键盘事件的实现 293

11.2.4  角色类 299

11.3  立体迷宫 301

11.3.1  地图拼接技巧 302

11.3.2  定位地图坐标 305

11.3.3  旋转立体坐标 307

11.3.4  绘制障碍物 312

11.3.5  处理图像深度 315

11.3.6  随机产生地图 318

11.3.7  完整2.5D迷宫 326

第12章  俄罗斯方块 334

12.1  游戏规划 334

12.1.1  游戏玩法及规则 334

12.1.2  游戏设计分析 335

12.1.3  注意事项 337

12.2  游戏流程 338

12.3  游戏技巧应用 338

12.3.1  描述方块 339

12.3.2  描述地图 341

12.3.3  方块阻碍判断 341

12.3.4  满行判断及删除 343

12.3.5  控制方块自动下降 343

12.3.6  预备方块区的上移效果 344

12.4  游戏画面 345

12.5  程序代码说明 346

第13章  项目研究--天涯若比邻 365

13.1  Java网络联机游戏 365

13.1.1  Java网络联机基础 365

13.1.2  取得地址信息 366

13.1.3  使用Socket联机 370

13.1.4  使用ServerSocket联机 373

13.1.5  制作一对一聊天室 375

13.1.6  使用Applet制作联机程序 382

13.2  多人联机 385

13.2.1  多人联机类型 385

13.2.2  多人聊天室 386

13.2.3  服务器端程序剖析 388

13.2.4  客户端程序剖析 399

附录A  游戏常见专有名词 404

附录B  游戏类型 412

附录C  游戏开发团队 426