游戏编程指南
最后更新于
本文基于 !"#$
推荐使用 " 及以上版本阅读
大家看完之后如果有什么意见和建议请务必在留言簿提出,谢谢!!!
如果你认为任何地方写错了,请告诉我…
如果你认为任何地方难以理解,请告诉我…
如果你觉得这篇东西还不算太垃圾,欢迎推荐给你的朋友…
本文 !!%为原创内容,转载时请只给出连接,谢谢!
也希望大家不要随便修改,谢谢!
使用&查看&''''&文档结构图&可大大方便阅读本文档
彭博 著
()(
*+,-.#
//+!012
+333$
目录 1
目 录
游戏编程指南...............................................................................................................................................1
目 录......................................................................................................................................................1
导 读......................................................................................................................................................1
第一章 表述游戏的语言.........................................................................................................................1
1.1 VC.net 概述..............................................................................................................................1
1.2 入门知识..................................................................................................................................3
1.2.1 数与数据类型.................................................................................................................3
1.2.2 变量与常量....................................................................................................................4
1.2.3 Namespace...................................................................................................................5
1.2.4 操作符与表达式.............................................................................................................5
1.3 预编译指令..............................................................................................................................7
1.4 结构,联合和枚举....................................................................................................................8
1.4.1 结构...............................................................................................................................8
1.4.2 联合...............................................................................................................................8
1.4.3 枚举...............................................................................................................................9
1.5 控制语句................................................................................................................................10
1.5.1 判断和跳转语句...........................................................................................................10
1.5.2 选择语句......................................................................................................................11
1.5.3 循环语句......................................................................................................................12
1.6 函数.......................................................................................................................................13
1.7 指针、数组与字符串..............................................................................................................17
1.7.1 指针.............................................................................................................................17
1.7.2 数组.............................................................................................................................18
1.7.3 字符串.........................................................................................................................21
1.7.4 小结.............................................................................................................................22
1.8 多文件程序的结构..................................................................................................................22
1.9 常用函数................................................................................................................................24
第二章 如何说得更地道.......................................................................................................................28
2.1 定义和使用类.........................................................................................................................28
2.2 类的构造函数.........................................................................................................................31
2.3 类的静态成员.........................................................................................................................33
2.4 运算符重载............................................................................................................................34
目录 2
2.5 类的继承................................................................................................................................37
2.6 虚函数和抽象类.....................................................................................................................40
2.7 模板.......................................................................................................................................41
2.8 优化程序................................................................................................................................44
2.9 调试程序................................................................................................................................46
第三章 容纳游戏的空间.......................................................................................................................48
3.1 基本 Windows 程序................................................................................................................48
3.2 WinMain 函数........................................................................................................................52
3.2.1 简介.............................................................................................................................52
3.2.2 注册窗口类..................................................................................................................52
3.2.3 创建窗口......................................................................................................................54
3.2.4 显示和更新窗口...........................................................................................................55
3.2.5 消息循环......................................................................................................................56
3.3 消息处理函数.........................................................................................................................57
3.4 常用 Windows 函数................................................................................................................58
3.4.1 显示对话框..................................................................................................................58
3.4.2 定时器.........................................................................................................................58
3.4.3 得到时间......................................................................................................................59
3.4.4 播放声音......................................................................................................................59
第四章 描绘游戏的画笔.......................................................................................................................60
4.1 初始化 DirectDraw.................................................................................................................60
4.1.1 简介.............................................................................................................................60
4.1.2 DirectDraw 对象..........................................................................................................61
4.1.3 设置控制级和显示模式................................................................................................62
4.1.4 创建页面......................................................................................................................63
4.2 后台缓存和换页.....................................................................................................................65
4.3 调入图像................................................................................................................................66
4.4 页面的丢失与恢复..................................................................................................................66
4.5 透明色....................................................................................................................................67
4.6 图像传送................................................................................................................................67
4.7 程序实例................................................................................................................................71
4.8 图像缩放................................................................................................................................71
4.9 释放 DirectDraw 对象.............................................................................................................71
第五章 丰富画面的技巧.......................................................................................................................73
5.1 填涂颜色................................................................................................................................73
5.2 输出文字................................................................................................................................74
目录 3
5.3 GDI 作图................................................................................................................................74
5.4 程序实例................................................................................................................................75
5.5 锁定页面................................................................................................................................75
5.6 程序提速................................................................................................................................77
5.7 特殊效果................................................................................................................................82
5.7.1 减暗和加亮..................................................................................................................82
5.7.2 淡入淡出......................................................................................................................83
5.7.3 半透明.........................................................................................................................83
5.7.4 光照.............................................................................................................................84
5.7.5 动态光照......................................................................................................................85
5.7.6 光照系统......................................................................................................................88
5.7.7 天气效果......................................................................................................................89
第六章 加速游戏的魔法.......................................................................................................................90
6.1 内嵌汇编简介.........................................................................................................................90
6.2 基本指令................................................................................................................................91
6.3 算术指令................................................................................................................................92
6.4 逻辑与移位指令.....................................................................................................................94
6.5 比较、测试、转移与循环指令...............................................................................................94
6.6 MMX 指令集之基本指令........................................................................................................97
6.7 MMX 指令集之算术与比较指令..............................................................................................99
6.8 MMX 指令集之逻辑与移位指令............................................................................................100
6.9 MMX 指令集之格式调整指令...............................................................................................101
第七章 我没有想好名字.....................................................................................................................103
7.1 读取键盘数据.......................................................................................................................103
7.2 读取鼠标数据.......................................................................................................................104
7.3 恢复和关闭 DirectInput........................................................................................................105
7.3.1 恢复 DirectInput 设备.................................................................................................105
7.3.2 关闭 DirectInput.........................................................................................................105
7.4 初始化和关闭 DirectX Audio................................................................................................105
7.4.1 初始化 DirectX Audio.................................................................................................105
7.4.2 关闭 DirectX Audio....................................................................................................106
7.5 播放 MIDI 和 WAV 音乐........................................................................................................106
7.5.1 调入 MIDI 和 WAV 文件..............................................................................................107
7.5.2 播放 MIDI 和 WAV 文件..............................................................................................107
7.5.3 停止播放....................................................................................................................108
7.6 在 3D 空间中播放音乐.........................................................................................................108
目录 4
7.7 播放 MP3 音乐.....................................................................................................................110
7.7.1 调入 MP3 文件...........................................................................................................110
7.7.2 播放 MP3 文件...........................................................................................................111
7.7.3 停止播放和释放对象..................................................................................................111
第八章 支撑游戏的基石.....................................................................................................................112
8.1 链表......................................................................................................................................112
8.2 哈希表..................................................................................................................................112
8.3 快速排序..............................................................................................................................113
8.4 深度优先搜索.......................................................................................................................114
8.5 广度优先搜索.......................................................................................................................118
8.6 启发式搜索..........................................................................................................................121
8.7 动态规划..............................................................................................................................127
8.8 神经网络..............................................................................................................................129
8.9 遗传规划..............................................................................................................................130
第九章 向三维世界迈进.....................................................................................................................132
9.1 概述.....................................................................................................................................132
9.2 基本知识.............................................................................................................................134
9.2.1 初始化 DXGraphics...................................................................................................134
9.2.2 关闭 DXGraphics.......................................................................................................136
9.2.3 恢复 DXGraphics 设备...............................................................................................136
9.3 设置场景..............................................................................................................................136
9.3.1 设置渲染状态.............................................................................................................136
9.3.2 设置矩阵....................................................................................................................137
9.4 创建场景..............................................................................................................................138
9.4.1 调入 3D 场景..............................................................................................................139
9.4.2 调入 2D 图像..............................................................................................................140
9.5 刷新场景..............................................................................................................................141
9.6 渲染场景..............................................................................................................................142
9.6.1 渲染 3D 场景..............................................................................................................142
9.6.2 渲染 2D 图像..............................................................................................................142
9.7 改变场景..............................................................................................................................142
9.8 显示文字..............................................................................................................................143
9.9 程序实例.............................................................................................................................144
第十章 我没有想好名字.....................................................................................................................145
10.1 灯光...................................................................................................................................145
10.2 半透明................................................................................................................................146
评论0