第1章 游戏程序设计概述 11.1 计算机游戏的概念 11.2 计算机游戏的分类 21.2.1 角色扮演游戏(rpg,role-playing game) 21.2.2 动作类游戏(act, action game) 31.2.3 实时策略游戏(rts,real-time strategy game ) 31.2.4 **视觉射击游戏(fps,first-person shooter) 31.2.5 模拟游戏(simulation game) 41.2.6 体育类游戏(srt,sports game) 41.3 设计游戏的要素 41.3.1 策划 51.3.2 程序 51.3.3 美术 51.3.4 音乐 61.4 计算机游戏的发展趋势 61.4.1 沉浸感 61.4.2 交互性 61.4.3 国际化 7第2章 win32应用程序 82.1 vs2010中win32应用程序创建过程 82.2 windows主函数 112.3 窗口建立过程 122.4 windows消息循环 142.5 窗口过程函数 152.6 win32应用程序示例 162.7 游戏程序框架 18第3章 windows绘图函数 223.1 屏幕绘图的相关概念 223.1.1 窗口和视口 223.1.2 gdi 坐标系 233.2 画笔,画刷与文字 253.2.1 gdi对象的建立 253.2.2 gdi对象的选用与删除 273.2.3 gdi示例 273.3 gdi绘图函数 313.3.1 点线函数 313.3.2 形状函数 323.3.3 填充函数 33第4章 游戏中的角色与场景 344.1 位图显示 344.2 镂空贴图 374.2.1 使用bitblt()中的参数raster完成镂空贴图 384.2.2 使用transparentblt()函数完成镂空贴图 394.3 地图显示 404.3.1 平面拼接地图 404.3.2 斜角拼接地图 43第5章 动画 485.1 使用定时器完成游戏动画 485.1.1 建立定时器 485.1.2 删除定时器 495.1.3 示例 495.2 利用消息循环完成游戏动画 515.2.1 利用消息循环完成动画原理 515.2.2 示例 53第6章 键盘与鼠标交互 556.1 windows键盘消息处理 556.1.1 windows键盘概述 556.1.2 键盘消息处理 566.1.3 键盘交互程序示例 576.2 windows鼠标消息处理 616.2.1 鼠标消息的处理方式 616.2.2 示例 636.2.3 相关函数的讲解 69第7章 运动与碰撞检测 717.1 运动 717.1.1 匀速直线运动 717.1.2 变速运动 757.2 碰撞检测 777.2.1 以物体框架来检测碰撞 777.2.2 用颜色来检测碰撞 797.3 粒子系统 83第8章 3d游戏概述 848.1 3d坐标系及转换 848.2 模型对象的建立 858.3 视图变换 858.3.1 平移变换 868.3.2 旋转变换 868.3.3 缩放变换 878.4 投影变换 878.5 3d游戏的开发手段 88第9章 direct3d简介 909.1 direct3d的体系结构 909.1.1 direct3d的绘制流程 909.1.2 direct3d绘制程序框架图 919.2 direct3d开发环境配置 929.3 direct3d初始化 949.3.1 创建direct3d接口对象。 959.3.2 获取设备的硬件信息 959.3.3 填充d3dpresent_parameters结构体 969.3.4 idirect3d设备接口的创建 989.4 direct3d渲染 999.4.1 清屏操作 999.4.2 绘制 1009.4.3 翻转显示 1009.4.4 direct3d的渲染过程 1019.5 direct3d中二维文本的绘制 1029.6 direct3d框架程序 104第10章 direct3d图形绘制基础 11110.1 以顶点缓存为数据源的图形绘制 11210.1.1 基础知识 11210.1.2 在direct3d编程中使用顶点缓存的四个步骤 11310.2 顶点缓存程序示例 12010.3 以索引缓存为数据源的图形绘制 12310.2.1 索引缓存绘图 12410.4 索引缓存程序示例 12810.5 direct3d内置几何体概述 13210.3.1 立方体的创建 13210.3.2 圆柱体的创建 13310.3.3 2d 多边形的创建 13410.3.4 球体创建 13410.3.5 圆环的创建 13510.3.6 茶壶的创建 135第11章 direct3d变换 13711.1 视图变换 13711.2 投影变换 14111.3 视口变换 14211.4 direct3d变换示例 14311.5 direct3d固定功能渲染流水线概述 148第12章 direct3d光照与材质 15012.1 光照类型 15012.1.1 环境光 15012.1.2 漫反射光 15112.1.3 镜面反射光 15112.1.4 自发光 15212.2 光源类型。 15212.2.1 点光源 15412.2.2 方向光源 15412.2.3 聚光灯光源 15512.3 材质 15512.4 灯光与材质示例 157第13章 纹理映射 16313.1 纹理映射的概念 16313.2 direct3d中纹理映射的实现方法 16313.2.1 纹理坐标的定义 16313.2.2 顶点坐标与纹理坐标的对应 16413.2.3 纹理的创建 16513.2.4 纹理的启用 16613.3 纹理绘制示例 168第14章 游戏引擎 17414.1 什么是游戏引擎 17414.2 目前比较流行的几款主流引擎 17514.3 unity游戏引擎简介 17614.4 unity下载与安装 178第15章 unity程序开发框架和编辑器使用 18115.1 unity程序开发框架、工程和应用以及场景的关系 18115.2 工程的创建和导入 18215.3 unity编辑器介绍 18415.3.1 官方资源导入方法: 18415.3.2 场景中的6个视图 18515.3.3 编辑器界面设置。 18615.3.1 unity编辑器——project(项目视图) 18615.3.2 unity编辑器——hierarchy(层次视图) 18815.3.3 unity编辑器——inspector(检视视图) 19015.3.4 unity编辑器——scene(场景视图) 19215.3.5 unity编辑器——game(游戏视图) 19415.3.6 unity编辑器——console(控制台视图) 195第16章 资源和游戏对象 19616.1 unity资源 19616.1.1 场景、资源、游戏对象、组件间的关系 19616.1.2 内部资源创建 19816.1.3 外部资源导入 19916.1.4 unity中预设的创建 20016.1.5 unity中图片、模型和音频、视频的支持 20016.2 unity 常用组件介绍 20116.2.1 transform(变换组件) 20216.2.2 camera(摄像机组件) 20316.2.3 lights(光源) 20416.3 常用物理引擎组件 20516.3.1 rigidbody(刚体组件) 20616.3.2 collider(碰撞器组件) 207第17章 unity脚本程序基础 20917.1 什么是脚本程序 20917.2 unity脚本编辑器 21017.3 unity脚本的创建与编辑 21117.3.1 script(脚本)创建 21117.3.2 编辑脚本程序 21217.3.3 常用事件函数 21417.3.4 游戏对象和组件访问 215第18章 unity gui图形用户界面 21818.1 ugui的基本介绍 21818.2 ugui的创建和基本操作 21918.3 ugui实例演示 22018.3.1 gui之button和text 22118.3.2 gui之toggle应用 22218.3.3 gui的image和scrollbar应用 22418.3.4 通过button调用其他场景 22518.3.5 slider与游戏对象 22618.4 打包与发布 227第19章 mecanim动画系统 22919.1 mecanim动画系统及其优势 22919.2 mecanim工作流程 23019.3 人形角色动画讲解 230第20章 游戏开发实例——奔跑的轮胎 239参考文献 261