第1章 开始多媒体设计 1
1.1 多媒体设计导论 2
1.1.1 为何使用VC++来设计多媒体 2
1.1.2 与其他技术的结合 3
1.1.3 坐标系统 6
1.2 构建多媒体设计的舞台 8
1.2.1 建立框架程序项目 8
1.2.2 建立应用程序与窗口 15
第2章 VC++基本绘图技巧 21
2.1 MFC绘图类 22
2.1.1 MFC的GDI 22
2.1.2 MFC的CDC 23
2.2 绘图技巧介绍 29
2.2.1 在窗口中绘制位图 29
2.2.2 透空图的制作 37
2.2.3 制作半透明图的技巧 41
第3章 动画的制作 47
3.1 控制动画的演示时间 48
3.1.1 定时器的使用 48
3.1.2 单一定时器显示动画 49
3.1.3 多个定时器显示动画 51
3.1.4 利用回调函数显示动画 53
3.2 特殊动画效果 54
3.2.1 透空动画技巧 54
3.2.2 半透明动画技巧 61
3.3 卷动背景的设计 67
3.3.1 单背景卷动 67
3.3.2 多背景卷动 69
第4章 物理动作设计 75
4.1 物体的移动 76
4.1.1 匀速运动 76
4.1.2 加速度运动 79
4.1.3 摩擦力 80
4.1.4 下坠与弹跳 84
4.2 物体间的碰撞 86
4.2.1 以范围侦测碰撞 87
4.2.2 以颜色侦测碰撞 90
第5章 管理程序中的信息 97
5.1 键盘信息 98
5.1.1 处理键盘输入信息 98
5.1.2 以键盘控制人物移动 99
5.2 鼠标信息 105
5.2.1 处理鼠标输入信息 105
5.2.2 鼠标版电流急急棒 107
5.2.3 改变鼠标光标 112
第6章 剖析人工智能 117
6.1.1 固定模式移动 118
6.1 移动型人工智能 118
6.1.2 追逐移动 124
6.1.3 躲避移动 131
6.2 行为型人工智能 132
6.2.1 物体的动作行为 132
6.2.2 路径搜寻的概念 142
6.2.3 搜寻最佳路径 142
6.3 策略型人工智能 158
6.3.1 计算机的决策方式 158
6.3.2 五子棋游戏设计 163
第7章 使用DirectDraw 179
7.1 初探DirectX 180
7.1.1 DirectX SDK简介 180
7.1.2 DirectX的特色 181
7.2 建立DirectDraw程序 181
7.2.1 建立DirectDraw的第一步 182
7.2.2 建立DirectDraw对象 184
7.2.3 设定程序协调等级 185
7.2.4 设定屏幕显示模式 186
7.2.5 绘图页的概念 186
7.2.6 建立绘图页 187
7.3 绘图页的基本应用 189
7.3.1 在幕后暂存区中加载位图 189
7.3.2 贴图与翻页 191
7.3.3 清除绘图页 197
7.4 DirectDraw的高级应用 199
7.4.1 颜色键 199
7.4.2 DirectDraw动画 204
7.4.3 存取绘图页的方式 206
第8章 使用DirectSound 211
8.1 建立DirectSound程序 212
8.1.1 建立DirectSound的第一步 212
8.1.3 设定程序协调等级 215
8.1.2 建立DirectSound对象 215
8.1.4 缓冲区的概念 216
8.1.5 建立主缓冲区 217
8.1.6 加载WAVE声音文件 218
8.1.7 建立次缓冲区 222
8.1.8 加载声音到次缓冲区 223
8.2 声音的播放与控制 224
8.2.1 播放声音 225
8.2.2 制作混音 225
8.2.3 控制声音 228
8.3 使用3D音效 234
8.3.1 3D音效概念 234
8.3.2 建立倾听者 236
8.3.3 建立发声者 237
第9章 使用DirectInput 243
9.1.1 建立DirectSound的第一步 244
9.1 建立DirectInput程序 244
9.1.2 建立DirectInput对象 245
9.1.3 建立输入装置对象 246
9.1.4 设定数据格式 247
9.1.5 设定程序协调等级 247
9.1.6 取用输入装置 248
9.2 使用键盘与鼠标 248
9.2.1 取得键盘输入信息 248
9.2.2 取得鼠标输入信息 252
9.3 使用摇杆 257
9.3.1 取得摇杆装置 258
9.3.2 列举摇杆组件 259
9.3.3 取得摇杆输入信息 264
9.3.4 设定无效范围 266
第10章 游戏制作集锦 273
10.1.1 初始化与建立DirectX对象 274
10.1 程序中的每个自定义函数 274
10.1.2 建立DirectDraw幕后暂存区 279
10.1.3 建立DirectSound次缓冲区 281
10.1.4 设定颜色键函数 283
10.2 豪华版电流急急棒 284
10.2.1 游戏功能介绍 284
10.2.2 游戏功能设计方式 286
10.2.3 程序内容说明 287
10.3 太空射击游戏 294
10.3.1 游戏功能介绍 294
10.3.2 卷动背景的设计 296
10.3.3 怪物的产生与移动 297
10.3.4 子弹的产生 298
10.3.5 侦测碰撞的方法 298
10.3.6 程序内容说明 300