第1讲 程序语言的概念与VisualBasic的安装 1
1.1 什么是程序设计 1
1.1.1 程序的概念 1
1.1.2 程序语言的发展 1
1.1.3 面向对象程序设计 2
1.2 VisualBasic的优势 3
1.3 VisualBasic的特色 4
1.4 安装VisualBasic 5
课后习题 8
第2讲 VisualBasic环境介绍及使用 11
2.1 VisualBasic的启动 11
2.2 VisualBasic环境介绍 12
2.2.1 窗体窗口 12
2.2.2 工程总管 12
2.2.3 属性窗口 13
2.2.4 窗体配置窗口 13
2.2.5 工具箱 14
2.3 设计我的窗口程序 16
2.3.1 窗体的打开与工程保存 17
2.3.2 窗体属性的设定 19
2.3.3 窗体内组件的放置 24
2.3.4 代码的编写 26
2.3.5 VisualBasic的代码编写环境 28
2.3.6 程序执行与调试 29
2.3.7 程序的打包 31
课后习题 37
第3讲 VisualBasic的数据处理 41
3.1 数据与变量 41
3.1.1 数据的种类 41
3.1.2 变量的意义 43
3.1.3 变量的数据类型与声明 43
3.1.4 直接指定变量类型与数据 46
3.1.5 利用数组设定变量 48
3.2 运算符号 51
3.2.1 算术运算符 51
3.2.2 关系运算符 52
3.2.3 逻辑运算符 52
课后习题 54
第4讲 VisualBasic的设计语法 57
4.1 程序设计语法概念 57
4.2 假设语句If 57
4.2.1 单一假设语句 57
4.2.2 多种假设语句 58
4.3 SelectCase选择语句 59
4.4 ForNext循环语句 61
4.5 WhileWend循环语句 63
4.6 DoLoop循环语句 63
4.7 对象属性的语法设定 65
4.7.1 直接设定对象属性 65
4.7.2 With语法 67
课后习题 68
第5讲 设计我的计算器 71
5.1 文本框、标签与指令按钮 71
5.1.1 文本框(TextBox) 71
5.1.2 标签(Label) 73
5.1.3 命令按钮(CommandButton) 75
5.1.4 图片框(PictureBox)与图像工具(Image) 76
5.2 计算器操作接口的设定 77
5.2.1 标签的设定 77
5.2.2 按钮的设定 79
5.3 计算器程序代码的编写 84
5.3.1 程序的结束设定 84
5.3.2 数字按钮的设定 85
5.3.3 四则运算按钮的设定 87
课后习题 90
第6讲 Timer的使用——我的小时钟 91
6.1 认识Timer(计时器) 91
6.1.1 Timer组件及其属性 91
6.1.2 Timer如何使事件发生 93
6.2 如何使用Timer 94
6.2.1 建立一个小时钟的界面 95
6.2.2 编辑Timer代码 97
6.2.3 Timer的精髓 98
6.3 Timer的使用时机 99
课后习题 105
第7讲 DirListBox操作——我的资源管理器 107
7.1 认识DirListBox 107
7.1.1 建立资源管理器的界面 107
7.1.2 组件间的连接 108
7.2 设计一个多功能的资源管理器 110
7.3 资源管理器的其他功能 115
7.3.1 文件分类 115
7.3.2 文件的属性种类 118
课后习题 123
第8讲 PictureBox的使用——建立我的个人相簿 125
8.1 介绍PictureBox组件 125
8.1.1 使用PictureBox 125
8.1.2 图像浏览器 127
8.1.3 Image组件 129
8.2 认识CommonDialog(通用对话框) 131
8.2.1 使用CommonDialog 131
8.2.2 CommonDialog的六大功能 134
8.3 建立我的个人相簿 141
课后习题 147
第9讲 DirectX多媒体天王 149
9.1 DirectX侧记 149
9.1.1 DirectX简史 149
9.1.2 下载与安装DirectX时的注意事项 150
9.1.3 DirectX的内容 150
9.2 DirectX的执行原理 151
9.2.1 软件组件的重复使用 151
9.2.2 微软的COM对象 152
9.2.3 在VisualBasic中使用DirectX 152
9.2.4 DirectX的运作模式 153
课后习题 154
第10讲 DirectSound 155
10.1 认识DirectSound 155
10.1.1 DirectSound的原理与功能 155
10.1.2 DirectSound程序编写流程 156
10.2 播放Wave音效 157
10.2.1 DirectSound对象声明 157
10.2.2 DirectSound对象的建立与音效的播放 158
10.3 播放控制与音量、声道的控制 161
10.3.1 播放、停止与暂停 161
10.3.2 音量与声道的控制 162
10.4 简单混音器 163
10.4.1 程序的声明 164
10.4.2 缓冲区的设定 164
10.4.3 文件的加载与缓冲区的建立 165
10.4.4 音效的播放 166
10.5 DirectSound3D 166
10.5.1 坐标的观念与声音锥 167
10.5.2 DirectSound3D的对象声明 167
10.5.3 缓冲区的建立与声音锥的设定 168
10.5.4 立体音效的播放 169
课后习题 170
第11讲 DirectMusic 173
11.1 认识DirectMusic 173
11.1.1 DirectMusic的作用 173
11.1.2 DirectMusic的对象 173
11.2 播放MIDI 174
11.2.1 DirectMusic的对象声明 174
11.2.2 对象的设定与播放MIDI 175
11.3 MIDI播放控制 176
11.3.1 音乐时间与开始时间 177
11.3.2 暂停、停止与播放控制 178
11.4 制作电子合成乐器 179
11.4.1 对象的声明 179
11.4.2 对象的建立 180
11.4.3 文件的打开与加载 181
11.4.4 音量与节奏的控制 182
11.4.5 混音钮的设定 182
课后习题 184
第12讲 DirectInput 185
12.1 DirectInput简介 185
12.1.1 认识输入装置 185
12.1.2 按钮与轴 185
12.2 键盘数据的取得 186
12.2.1 声明DirectInput对象 187
12.2.2 对象的建立与设定 187
12.2.3 取得装置数据并加载图片 188
12.3 鼠标信息的取得 192
12.3.1 声明与对象的建立 192
12.3.2 信息的取得与图片的加载 193
12.4 鼠标缓冲信息与事件通知 194
12.4.1 对象的声明 195
12.4.2 对象与缓冲区的建立 195
12.4.3 DirectX事件通知 196
12.4.4 信息的取得与应用 197
12.5 使用摇杆装置 199
12.5.1 侦测摇杆功能 199
12.5.2 取得轴的信息 201
12.5.3 取得摇杆的状态 203
12.5.4 利用摇杆操作角色 205
课后习题 209
第13讲 DirectDraw 211
13.1 认只DirectDraw 211
13.1.1 DirectDraw简介 211
13.1.2 坐标的使用 212
13.1.3 如何进行DirectDraw设计 213
13.2 建立DirectDraw接口 214
13.2.1 建立DirectDraw对象 214
13.2.2 设定协调层级 214
13.3 使用窗口模式贴图 216
13.3.1 程序的声明 216
13.3.2 Surface的设定与建立 217
13.3.3 使用Blt贴图 219
13.4 角色贴图与透明图的设定 220
13.4.1 同时贴上背景与角色 220
13.4.2 透明图设定 223
13.5 使用全屏幕贴图 225
13.5.1 翻页(Flip)的观念 225
13.5.2 全屏幕设定的声明 226
13.5.3 Surface的建立 227
13.5.4 贴图与翻页 228
13.5.5 程序跳离与执行 229
13.6 动画设计技巧 230
13.6.1 角色连续移动 230
13.6.2 游戏的角色动画原理 231
13.6.3 角色动画制作 232
课后习题 233
第14讲 利用DirectX制作射击游戏 235
14.1 模块化设计程序 235
14.1.1 什么是模块化设计 235
14.1.2 模块设计的变量声明与使用 238
14.1.3 模块设计的函数声明与使用 239
14.1.4 游戏的规划 240
14.2 声明与窗体的设计 241
14.2.1 声明的模块部分 241
14.2.2 窗体的初始化 241
14.2.3 事件通知与是否射中目标的判断 242
14.2.4 角色的移动与游戏时间 243
14.3 DirectSound模块 245
14.3.1 音效的初始化与加载 245
14.3.2 背景音乐与射击音效 246
14.4 DirectInput的摇杆模块 246
14.4.1 侦测是否接上摇杆 246
14.4.2 摇杆的初始化 247
14.4.3 摇杆的控制 248
14.5 DirectInput的键盘模块 249
14.5.1 键盘的初始化 249
14.5.2 准星的控制与射击时机 250
第15讲 俄罗斯方块 253
15.1 设计构想 253
15.2 流程规划 253
15.2.1 流程规划概念 253
15.2.2 游戏流程图 254
15.3 运用技术 256
15.3.1 Type自定数据类型 257
15.3.2 For…Next循环应用 257
15.3.3 Load及Unload动态新增或删除组件 258
15.3.4 KeyDown事件 259
15.3.5 ImageList组件 259
15.3.6 Image组件 260
15.3.7 Timer组件 260
15.4 画面规划 260
15.5 完整程序代码及说明 261
第16讲 踩地雷 275
16.1 设计构想 275
16.2 流程规划 276
16.3 运用技术 277
16.3.1 For…Next循环应用 277
16.3.2 Load及Unload动态新增或删除组件 278
16.3.3 MouseDown与MouseUp事件 279
16.3.4 ImageList组件 281
16.3.5 Image组件 282
16.3.6 Timer组件 282
16.3.7 PictureBox组件 282
16.3.8 递归 282
16.4 画面规划 283
16.5 完整程序代码及说明 284