文件名称:基于VC7.0 + DirectX 9.0 游戏编程指南
文件大小:1.27MB
文件格式:DOC
更新时间:2014-12-17 13:18:53
D3D9 游戏编程 DirectX9.0 VC
游戏编程指南 1 目 录 1 导 读 1 第一章 表述游戏的语言 1 1.1 VC.net概述 1 1.2 入门知识 4 1.2.1 数与数据类型 4 1.2.2 变量与常量 4 1.2.3 Namespace 5 1.2.4 操作符与表达式 6 1.3 预编译指令 7 1.4 结构,联合和枚举 8 1.4.1 结构 8 1.4.2 联合 9 1.4.3 枚举 10 1.5 控制语句 10 1.5.1 判断和跳转语句 10 1.5.2 选择语句 11 1.5.3 循环语句 13 1.6 函数 13 1.7 指针、数组与字符串 17 1.7.1 指针 17 1.7.2 数组 19 1.7.3 字符串 22 1.7.4 小结 23 1.8 多文件程序的结构 23 1.9 常用函数 25 第二章 如何说得更地道 29 2.1 定义和使用类 29 2.2 类的构造函数 32 2.3 类的静态成员 34 2.4 运算符重载 35 2.5 类的继承 38 2.6 虚函数和抽象类 41 2.7 模板 42 2.8 优化程序 45 2.9 调试程序 47 第三章 容纳游戏的空间 49 3.1 基本Windows程序 49 3.2 WinMain函数 53 3.2.1 简介 53 3.2.2 注册窗口类 53 3.2.3 创建窗口 55 3.2.4 显示和更新窗口 56 3.2.5 消息循环 57 3.3 消息处理函数 58 3.4 常用Windows函数 59 3.4.1 显示对话框 59 3.4.2 定时器 59 3.4.3 得到时间 60 3.4.4 播放声音 60 第四章 描绘游戏的画笔 61 4.1 初始化DirectDraw 61 4.1.1 简介 61 4.1.2 DirectDraw对象 62 4.1.3 设置控制级和显示模式 63 4.1.4 创建页面 64 4.2 后台缓存和换页 66 4.3 调入图像 67 4.4 页面的丢失与恢复 67 4.5 透明色 68 4.6 图像传送 68 4.7 程序实例 72 4.8 图像缩放 72 4.9 释放DirectDraw对象 72 第五章 丰富画面的技巧 74 5.1 填涂颜色 74 5.2 输出文字 75 5.3 GDI作图 75 5.4 程序实例 76 5.5 锁定页面 76 5.6 程序提速 78 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 天气效果 88 第六章 加速游戏的魔法 89 6.1 内嵌汇编简介 89 6.2 基本指令 90 6.3 算术指令 91 6.4 逻辑与移位指令 93 6.5 比较、测试、转移与循环指令 93 6.6 MMX指令集之基本指令 96 6.7 MMX指令集之算术与比较指令 98 6.8 MMX指令集之逻辑与移位指令 99 6.9 MMX指令集之格式调整指令 100 第七章 我没有想好名字 102 7.1 读取键盘数据 102 7.2 读取鼠标数据 103 7.3 恢复和关闭DirectInput 104 7.3.1 恢复DirectInput设备 104 7.3.2 关闭DirectInput 104 7.4 初始化和关闭DirectX Audio 104 7.4.1 初始化DirectX Audio 104 7.4.2 关闭DirectX Audio 105 7.5 播放MIDI和WAV音乐 105 7.5.1 调入MIDI和WAV文件 105 7.5.2 播放MIDI和WAV文件 106 7.5.3 停止播放 107 7.6 在3D空间中播放音乐 107 7.7 播放MP3音乐 109 7.7.1 调入MP3文件 109 7.7.2 播放MP3文件 109 7.7.3 停止播放和释放对象 110 第八章 支撑游戏的基石 111 8.1 链表 111 8.2 哈希表 111 8.3 快速排序 112 8.4 深度优先搜索 113 8.5 广度优先搜索 117 8.6 启发式搜索 120 8.7 动态规划 126 8.8 神经网络 128 8.9 遗传规划 129 第九章 向三维世界迈进 131 9.1 概述 131 9.2 基本知识 133 9.2.1 初始化DXGraphics 133 9.2.2 关闭DXGraphics 135 9.2.3 恢复DXGraphics设备 135 9.3 设置场景 135 9.3.1 设置渲染状态 135 9.3.2 设置矩阵 136 9.4 创建场景 137 9.4.1 调入3D场景 138 9.4.2 调入2D图像 139 9.5 刷新场景 140 9.6 渲染场景 141 9.6.1 渲染3D场景 141 9.6.2 渲染2D图像 141 9.7 改变场景 141 9.8 显示文字 142 9.9 程序实例 143 第十章 我没有想好名字 144 10.1 灯光 144 10.2 半透明 145 10.3 纹理混合 146 10.4 雾 148 10.5 凹凸贴图与环境贴图 149 10.6 粒子系统 149 10.7 骨骼动画 149 10.8 镜子 151 10.9 影子 151 第十一章 我没有想好名字 152 11.1 基本概念 152 11.2 程序流程 152 11.2.1 服务器端 152 11.2.2 客户端 153 11.3 程序实例 153 11.4 错误处理 158 11.5 显示IP地址 158 11.6 更有效地传送数据 159 第十二章 创造我们的世界 161 12.1 程序流程 161 12.2 程序结构 162 12.3 基本方法 163 12.4 SLG编程要点 163 12.4.1 电脑AI 163 12.5 RPG & ARPG编程要点 163 12.5.1 迷宫的生成 163 12.5.2 脚本技术 163 12.6 RTS编程要点 163 12.6.1 寻路 163 12.6.2 电脑AI 163 12.7 FPS编程要点 164 12.7.1 移动 164 12.7.2 碰撞检测 164 12.8 游戏中的物理学 165 附 录 166 附录一 Windows常见消息列表 166 附录二 虚拟键列表 171 Windows消息中的虚拟键 171 DirectInput中的虚拟键 172 附录三 DirectX函数返回值列表 174 DirectDraw部分 174 Direct3D部分 181 附录四 Winsock函数返回值列表 183 附录五 游戏编程常用网址 187 附录六 中英文名词对照 188 附录七 常见问题及解决办法 189 1. 程序编译时出现"Warning" 189 2. "Cannot Execute Program" 189 3. "Unresolved External Symbol" 189 4. 运行时出错 189