Chapter1制作基本雏型 1
利用MFC建立视窗 2
●建立固定尺寸的视窗 2
建立雏型 2
使用WindowsAPI 8
●更改样式 8
更改显示区的外框 9
让按钮和调整视窗大小无效 11
设定视窗大小 11
改变视窗的位置 12
View的修改 12
全屏幕显示 14
●全屏幕显示① 14
执行范例 14
Fullscreen成员函数 15
RecalcLayout成员函数 15
●全屏幕显示② 18
切换分辨率 18
类化(包装;wrapping) 23
读入CG并显示 25
●点阵图(BitmapImage) 26
DIBSection 26
制作DIBSection用的类 26
●显示BMP文件 31
LoadImageAPI 31
取得图片的信息 32
图片数据的压缩 34
●读入压缩的CG文件 34
PNG 35
读文件用的函数 35
图片文件的储存 42
●储存BMP文件 42
●储存PNG文件 43
●更改图片的格式 45
Chapter2追加各种处理 47
显示窗口 48
●多窗口 48
建立有标题栏的窗口 48
●非矩形窗口 56
●制作窗口区域① 56
●设定窗口区域 63
●制作窗口区域② 65
CG的重叠 67
●重叠的思考逻辑 67
●24位图片的重叠 68
画面特效① 70
●通过复制制作的画面特效①——转景(Wipe) 70
定期的处理 71
特效开始 73
转入(Wipe-in)/转出(Wipe-out) 74
实例的执行 77
●通过复制制作的画面特效②——转景(不同样式) 77
使用多媒体计时器 79
●通过复制制作的画面特效③——卷动(Scroll) 81
绘图处理 82
卷动的处理(步骤1) 83
卷动大张的图片 84
●通过计算制作的画面特效——淡化(Fade) 85
淡化的计算 86
画面特效②(使用Windows的功能) 88
●矩形以外的特效 88
操作图片用的API 88
裁剪(Clipping) 89
●使用区域的转景 89
区域(Region) 89
圆形的转景 90
星形的转景 92
时钟式的转景 96
复数个星形的转景 98
多个圆形的转景 99
建立区域的步骤(复习) 100
使用放大/缩小的转景 101
切换CG 103
●交互转景(CrossWipe) 103
●交互淡化(CrossFade) 104
●高速的淡化(使用MMX) 107
MMX指令集 108
MMX处理 108
闲置进程(Idleprocess) 113
●眨眼 119
●动画的结构 119
动画(眨眼) 119
动画处理 120
动作的改善 125
应用篇 127
Chapter3RPG 127
显示地图 128
●使用图片显示地图 128
●显示地图(使用零件) 130
角色的移动 133
●管理角色和障碍物 134
CSprite类 135
CCharacter类 136
CMapSprite类 136
CMapManager类 137
●登录角色 138
登录玩家的角色 138
登录敌方角色、障碍物 140
●搜索可移动的范围 141
判断是否可以移动 142
设定不可以移动的区域 145
●角色的移动 146
决定移动的路程 146
角色移动的动画 148
执行实例 149
战斗 150
●思考程序 150
执行实例 151
●搜索可攻击的范围 152
●攻击 153
●CPU端的行动 155
敌方角色的移动 156
敌方角色的攻击 159
显示俯瞰的地图 162
●坐标的转换 162
●地图零件 164
●角色的重叠 164
●地图大小 165
Chapter4卡片游戏 169
●制作扑克牌 170
制作卡片 170
扑克牌的外框 171
上下颠倒文字的画法 171
描绘图案 172
洗牌 174
●打散牌的方法 174
将牌重新放回牌堆 176
牌的移动 177
●拖曳移动 178
拖曳的基本操作 178
检查是否为卡片所在的区域 179
鼠标移动时的处理 180
按键放开时的处理 181
●动画的移动 182
取消的处理 182
执行实例 184
Chapter5多媒体 187
多媒体API 188
●使用多媒体API 188
新增加入函数库 188
前置码 189
●MCI 190
MCI基本的操作 191
●播放CD 191
设定时间 192
取得音轨的长度 192
播放 193
执行实例 194
播放完毕时的通知 194
CDAudio类 199
●拥有多台CD-ROM的时候 202
●播放MIDI 202
MIDI的优缺点 202
播放MIDI 203
重复播放 204
执行实例 205
●播放WAVE 208
PlaySoundAPI 209
使用MCI播放 209
使用DirectSound 212
●DirectSound的特征 212
读取WAVE文件 213
●使用DirectSound的方法 213
DirectSound的初始化 218
建立声音缓冲区 219
环状缓冲区 220
播放 220
DirectSound播放完毕时的通知 228
线程的结束 231
●多线程 233
使用DirectSound播放BGM 234
Chapter6DirectDraw 245
使用DirectDraw加速显示 246
●使用DirectDraw的“雏形” 246
MainFrm.h 246
MainFrm.cpp 247
执行实例 252
CG的重叠 255
●建立绘图页 255
制作绘图页类 255
管理绘图页 259
修改应用程序类 260
执行实例 262
淡化 263
●使用DirectDraw的淡化 263
锁定绘图页 263
●直接存取内存实现的淡化 265
执行实例 267
●高速淡化 269
反而变得很慢的情形 269
执行实例 270
程序代码的改良 271
●程序代码的详细功能 272
CDirectDraw类 273
Chapter7存储数据 293
存储功能 294
●支持多用户的环境 294
●将数据存储在注册表里 294
注册表项 294
存取注册表 295
存储在文件里的原因 297
取得文件夹 298
●存储在用户各自的文件夹里 298
●支持WindowsNT/2000 299
数据加密 300
●让玩家看不到数据的方法 300
建立二进制文件 300
数据加密 300
●加密的方法 301
Chapter8数据管理 305
STL的数据管理 306
●STL的结构 306
数组 307
双向链表 307
二叉树 310
●使用STL的判断基准 312