本书通过目前流行的高级编程语言——Java语言来介绍游戏程序设计的相关知识,并通过案例讲解的方式由浅入深地介绍游戏设计各个环节的基本理论和方法。
全书共13章,分别介绍了计算机游戏的发展及游戏设计的基本流程,游戏的基本框架和运行机制;围绕一个2D横版动作游戏案例详细阐述游戏设计的具体细节,内容涉及游戏场景创建、游戏角色设定、场景和角色的交互、游戏关卡设计、游戏音乐的播放及简单人工智能的实现等;分别介绍手机游戏设计及游戏设计工具Greenfoot,并对几个游戏案例的设计过程进行了详细讲解。
本书适合作为本科院校及大专院校的教材,也可供职业技术学校和各游戏培训机构使用。此外,本书也适合对游戏程序设计及Java程序设计感兴趣的读者阅读。
通过具体的程序案例来讲解游戏设计的具体方法,应用性和操作性很强,基础入门、容易掌握理解。
目 录
第1章 计算机游戏概述 1
1.1 计算机游戏的发展历史 2
1.2 计算机游戏的基本类型 3
1.3 计算机游戏的本质及特征 13
1.4 计算机游戏的主要功能 14
习题 15
第2章 游戏设计的基本流程 16
2.1 游戏策划 17
2.2 游戏美术设计 19
2.3 游戏音频设计 21
2.4 游戏程序设计 23
2.5 游戏测试 25
习题 26
第3章 游戏程序的基本框架 27
3.1 Java2D图形绘制简介 28
3.1.1 坐标系统 28
3.1.2 图形处理类 28
3.1.3 绘制几何图形 29
3.1.4 填充图形 32
3.1.5 图形变换 34
3.2 构建游戏循环 35
3.3 双缓冲机制 36
3.3.1 离屏绘制 37
3.3.2 前屏显示 37
3.4 游戏的运行框架 38
3.5 设置帧速率 39
3.6 Applet游戏程序框架 41
习题 42
第4章 游戏的运行机制 43
4.1 游戏中的物体运动 44
4.1.1 模拟匀速直线运动 44
4.1.2 模拟加速直线运动 45
4.2 碰撞检测 47
4.3 传递控制命令 49
4.4 游戏设计案例一:《贪食蛇》游戏 51
4.4.1 游戏整体设计 52
4.4.2 贪食蛇的表示 54
4.4.3 绘制贪食蛇 56
4.4.4 食物类的实现 57
4.5 游戏设计案例二:《打砖块》游戏 58
4.5.1 游戏整体设计 58
4.5.2 挡板类的实现 59
4.5.3 砖块类的实现 60
4.5.4 小球类的实现 62
习题 67
第5章 游戏场景设定 69
5.1 Java2D图像绘制简介 70
5.2 绘制卷轴型图像 71
5.2.1 基本绘制方法 71
5.2.2 滚动显示 72
5.2.3 创建Ribbon类 75
5.3 绘制砖块型图像 79
5.3.1 基本绘制方法 79
5.3.2 创建TileMap类 80
5.3.3 滚动显示 81
5.4 创建完整的游戏场景 84
习题 88
第6章 游戏角色设定 89
6.1 精灵的图像绘制 90
6.2 精灵的移动控制 92
6.3 创建精灵类 96
习题 100
第7章 角色与场景的交互 101
7.1 概述 102
7.2 玩家角色的运动及控制 103
7.3 玩家角色与游戏场景的碰撞检测 106
7.3.1 基本原理 106
7.3.2 创建GameWorldManager类 107
7.3.3 调用碰撞检测方法 110
7.4 电脑角色的运动及碰撞检测 112
7.4.1 定义电脑角色的行为 112
7.4.2 设置电脑角色的初始位置 114
7.5 玩家角色与电脑角色的碰撞检测 116
习题 119
第8章 声音效果设定 120
8.1 播放音效 121
8.2 播放音乐 124
8.3 为游戏添加动作音效和场景音乐 126
习题 128
第9章 完善游戏规则 129
9.1 有限状态机模型 130
9.2 玩家角色跳起来“踩”电脑角色 131
9.3 玩家角色发射子弹攻击电脑角色 134
9.4 增加玩家角色生命值 138
9.5 显示玩家生命及游戏分数 142
9.6 实现简单的游戏人工智能 144
习题 147
第10章 游戏关卡设计 148
10.1 完善游戏关卡 149
10.1.1 完善场景的滚动 150
10.1.2 添加敌人和道具 154
10.1.3 添加新的关卡 161
10.2 添加游戏菜单 163
10.2.1 游戏菜单设计 164
10.2.2 游戏菜单的显示 166
10.2.3 游戏的保存与恢复 169
10.3 设计关卡地图编辑器 172
10.3.1 地图编辑器总体设计 173
10.3.2 地图编辑器详细设计 175
习题 186
第11章 手机游戏设计简介 187
11.1 手机游戏概述 188
11.2 手机游戏开发平台简介 189
11.3 手机游戏的程序框架 190
11.3.1 使用WTK设计手机游戏 191
11.3.2 使用NetBeans设计手机游戏 195
11.4 设计《打砖块》手机游戏 196
11.5 使用游戏生成器创建手机游戏 201
习题 205
第12章 游戏设计工具Greenfoot 206
12.1 概述 207
12.2 基本操作方法 207
12.2.1 打开游戏场景 208
12.2.2 添加游戏角色 208
12.2.3 运行游戏 209
12.3 相关API简介 210
12.4 编写游戏程序 213
12.4.1 创建游戏世界 213
12.4.2 创建游戏角色 216
12.4.3 让游戏角色运动起来 218
12.4.4 处理游戏中的图像 221
12.4.5 碰撞检测 226
12.4.6 键盘控制 228
12.4.7 鼠标控制 229
12.4.8 播放声音 229
12.4.9 控制游戏的运行 230
12.4.10 导出游戏场景 231
12.5 编程示例 233
习题 239
第13章 游戏设计案例详解 240
13.1 模拟钢琴游戏 241
13.1.1 基本功能设计 241
13.1.2 添加更多琴键 246
13.2 太空射击游戏 251
13.2.1 构建游戏框架 252
13.2.2 程序结构优化 257
13.3 点灯游戏 265
13.3.1 游戏整体设计 265
13.3.2 各个类的具体实现 267
习题 273
附录 Java类库引用参考 274
参考文献 296