教育>本科研究生>计算机类
游戏程序设计基础

游戏程序设计基础"

作者:杨长强,高莹
ISBN:9787121274251
定价:¥39.0
字数:435千字
页数:272
出版时间:2015-12
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书系统介绍了Windows API二维开发和Direct3D三维游戏开发和Unity游戏开发相关概念和实现技术。由浅入深,详细介绍了各部分的环境搭建和开发方法。内容全面,完整详细地讲解了二维游戏、Direct3D游戏和利用Unity开发游戏的相关内容,注重理论与实践的结合,对于每一章讲解的技术环节都有对应的实现示例。本书配套提供PPT、源代码等。 本书在内容安排上很适合本科教学,对游戏开发感兴趣的初学者自学时也推荐使用本书。

前言

前 言 计算机相关专业的学生在学习游戏程序开发前,一般已经学习过数据结构,操作系统和面向对象程序开发等专业课程,有些还学过计算机图形学等课程,但没有游戏程序开发系统方面的知识,目前市场上适合本科教学的游戏开发教材匮乏。 本教材从游戏开发的角度,以理论和实践相结合的方式,系统介绍了计算机游戏开发方法。目前市场上的计算机游戏主要分为二维游戏和三维游戏,针对这样的情况,教材内容安排如下: 第一章介绍了计算机游戏的相关概念和分类。 第二章到第七章讲解利用Windows API函数完成二维游戏制作,内容包括Windows程序窗口生成和消息机制,贴图,交互,碰撞等内容。 第八章到第十三章讲解利用Direct3D进行三维游戏的制作,内容包括三维游戏的基本原理,Direct3D的安装和初始化过程,Direct 3D图形绘制基础,变换,光照和纹理映射等。 第十四章到第十九章讲解Unity进行游戏开发的方法。内容主要从初学者入门的角度去讲解Unity游戏开发,无论是有无编程经验都可以阅读本部分,从而快速掌握如何使用Unity引擎制作3D游戏。内容包括Unity安装方法,Unity程序开发框架和编辑器的使用,资源和游戏对象,脚本程序和用户界面以及动画系统等。 本教材有如下几个鲜明特点: 1. 由浅入深 一般本科生在刚刚完成一二年级的相关课程学习后,实际动手进行程序开发的能力还未形成,本教材充分考虑到这种普遍存在的情况,在二维游戏,Direct3D游戏开发和Unity游戏开发前,细致地进行环境搭建的讲解。 2. 内容全面 本教材全面介绍了Windows二维游戏和三维游戏的开发方法,即讲解了利用Windows API开发二维游戏,Direct3D开发三维游戏这些底层游戏开发方法,也详细讲解了利用目前最流行的一款游戏引擎Unity开发游戏的方法。 3. 提供框架程序 在讲解二维游戏,Direct3D游戏开发和Unity游戏时,对于每一部分内容,首先详细介绍了框架程序的构建过程,以后的内容在框架程序的基础上完成,降低了学生的学习和开发难度。 4. 理论讲解与实践密切结合 在每一章的讲解中,首先对相关理论进行介绍,然后详细讲解相关函数,最后在对应的程序框架内,利用本章学到的函数完成相关功能的演示。 由于本课程的独特的特点,教材没有安排课后习题,学生需要在程序框架内独立完成教材相关代码的演示,就能掌握相关章节内容。 本教材的教学讲义已在教学实践中使用,所有教学内容,案例均在教学实践中使用。全部内容的课堂教学54学时,实验20学生,综合实训24学时。 本教材根据教学讲义改编而成,教学讲义编写过程中参考了大量游戏开发的书籍和资料,包括荣钦科技出版的Visual C++游戏编程教材,毛星云编写的Windows游戏编程之从零开始,Unity 4.X从入门到精通和Unity开发网站等,在此表示衷心感谢。

目录

目 录 第1章 游戏程序设计概述 1 1.1 计算机游戏的概念 1 1.2 计算机游戏的分类 2 1.2.1 角色扮演游戏(RPG,Role-Playing Game) 2 1.2.2 动作类游戏(ACT, Action Game) 3 1.2.3 实时策略游戏(RTS,Real-Time Strategy Game ) 3 1.2.4 第一视觉射击游戏(FPS,First-Person Shooter) 3 1.2.5 模拟游戏(Simulation Game) 4 1.2.6 体育类游戏(SRT,Sports Game) 4 1.3 设计游戏的要素 4 1.3.1 策划 5 1.3.2 程序 5 1.3.3 美术 5 1.3.4 音乐 6 1.4 计算机游戏的发展趋势 6 1.4.1 沉浸感 6 1.4.2 交互性 6 1.4.3 国际化 7 第2章 Win32应用程序 8 2.1 VS2010中Win32应用程序创建过程 8 2.2 Windows主函数 11 2.3 窗口建立过程 12 2.4 Windows消息循环 14 2.5 窗口过程函数 15 2.6 Win32应用程序示例 16 2.7 游戏程序框架 18 第3章 Windows绘图函数 22 3.1 屏幕绘图的相关概念 22 3.1.1 窗口和视口 22 3.1.2 GDI 坐标系 23 3.2 画笔,画刷与文字 25 3.2.1 GDI对象的建立 25 3.2.2 GDI对象的选用与删除 27 3.2.3 GDI示例 27 3.3 GDI绘图函数 31 3.3.1 点线函数 31 3.3.2 形状函数 32 3.3.3 填充函数 33 第4章 游戏中的角色与场景 34 4.1 位图显示 34 4.2 镂空贴图 37 4.2.1 使用BitBlt()中的参数Raster完成镂空贴图 38 4.2.2 使用TransparentBlt()函数完成镂空贴图 39 4.3 地图显示 40 4.3.1 平面拼接地图 40 4.3.2 斜角拼接地图 43 第5章 动画 48 5.1 使用定时器完成游戏动画 48 5.1.1 建立定时器 48 5.1.2 删除定时器 49 5.1.3 示例 49 5.2 利用消息循环完成游戏动画 51 5.2.1 利用消息循环完成动画原理 51 5.2.2 示例 53 第6章 键盘与鼠标交互 55 6.1 Windows键盘消息处理 55 6.1.1 Windows键盘概述 55 6.1.2 键盘消息处理 56 6.1.3 键盘交互程序示例 57 6.2 Windows鼠标消息处理 61 6.2.1 鼠标消息的处理方式 61 6.2.2 示例 63 6.2.3 相关函数的讲解 69 第7章 运动与碰撞检测 71 7.1 运动 71 7.1.1 匀速直线运动 71 7.1.2 变速运动 75 7.2 碰撞检测 77 7.2.1 以物体框架来检测碰撞 77 7.2.2 用颜色来检测碰撞 79 7.3 粒子系统 83 第8章 3D游戏概述 84 8.1 3D坐标系及转换 84 8.2 模型对象的建立 85 8.3 视图变换 85 8.3.1 平移变换 86 8.3.2 旋转变换 86 8.3.3 缩放变换 87 8.4 投影变换 87 8.5 3D游戏的开发手段 88 第9章 Direct3D简介 90 9.1 Direct3D的体系结构 90 9.1.1 Direct3D的绘制流程 90 9.1.2 Direct3D绘制程序框架图 91 9.2 Direct3D开发环境配置 92 9.3 Direct3D初始化 94 9.3.1 创建Direct3D接口对象。 95 9.3.2 获取设备的硬件信息 95 9.3.3 填充D3DPRESENT_PARAMETERS结构体 96 9.3.4 IDirect3D设备接口的创建 98 9.4 Direct3D渲染 99 9.4.1 清屏操作 99 9.4.2 绘制 100 9.4.3 翻转显示 100 9.4.4 Direct3D的渲染过程 101 9.5 Direct3D中二维文本的绘制 102 9.6 Direct3D框架程序 104 第10章 Direct3D图形绘制基础 111 10.1 以顶点缓存为数据源的图形绘制 112 10.1.1 基础知识 112 10.1.2 在Direct3D编程中使用顶点缓存的四个步骤 113 10.2 顶点缓存程序示例 120 10.3 以索引缓存为数据源的图形绘制 123 10.2.1 索引缓存绘图 124 10.4 索引缓存程序示例 128 10.5 Direct3D内置几何体概述 132 10.3.1 立方体的创建 132 10.3.2 圆柱体的创建 133 10.3.3 2D 多边形的创建 134 10.3.4 球体创建 134 10.3.5 圆环的创建 135 10.3.6 茶壶的创建 135 第11章 Direct3D变换 137 11.1 视图变换 137 11.2 投影变换 141 11.3 视口变换 142 11.4 Direct3D变换示例 143 11.5 Direct3D固定功能渲染流水线概述 148 第12章 Direct3D光照与材质 150 12.1 光照类型 150 12.1.1 环境光 150 12.1.2 漫反射光 151 12.1.3 镜面反射光 151 12.1.4 自发光 152 12.2 光源类型。 152 12.2.1 点光源 154 12.2.2 方向光源 154 12.2.3 聚光灯光源 155 12.3 材质 155 12.4 灯光与材质示例 157 第13章 纹理映射 163 13.1 纹理映射的概念 163 13.2 Direct3D中纹理映射的实现方法 163 13.2.1 纹理坐标的定义 163 13.2.2 顶点坐标与纹理坐标的对应 164 13.2.3 纹理的创建 165 13.2.4 纹理的启用 166 13.3 纹理绘制示例 168 第14章 游戏引擎 174 14.1 什么是游戏引擎 174 14.2 目前比较流行的几款主流引擎 175 14.3 Unity游戏引擎简介 176 14.4 Unity下载与安装 178 第15章 Unity程序开发框架和编辑器使用 181 15.1 Unity程序开发框架、工程和应用以及场景的关系 181 15.2 工程的创建和导入 182 15.3 Unity编辑器介绍 184 15.3.1 官方资源导入方法: 184 15.3.2 场景中的6个视图 185 15.3.3 编辑器界面设置。 186 15.3.1 Unity编辑器——Project(项目视图) 186 15.3.2 Unity编辑器——Hierarchy(层次视图) 188 15.3.3 Unity编辑器——Inspector(检视视图) 190 15.3.4 Unity编辑器——Scene(场景视图) 192 15.3.5 Unity编辑器——Game(游戏视图) 194 15.3.6 Unity编辑器——Console(控制台视图) 195 第16章 资源和游戏对象 196 16.1 Unity资源 196 16.1.1 场景、资源、游戏对象、组件间的关系 196 16.1.2 内部资源创建 198 16.1.3 外部资源导入 199 16.1.4 Unity中预设的创建 200 16.1.5 Unity中图片、模型和音频、视频的支持 200 16.2 Unity 常用组件介绍 201 16.2.1 Transform(变换组件) 202 16.2.2 Camera(摄像机组件) 203 16.2.3 Lights(光源) 204 16.3 常用物理引擎组件 205 16.3.1 Rigidbody(刚体组件) 206 16.3.2 Collider(碰撞器组件) 207 第17章 Unity脚本程序基础 209 17.1 什么是脚本程序 209 17.2 Unity脚本编辑器 210 17.3 Unity脚本的创建与编辑 211 17.3.1 Script(脚本)创建 211 17.3.2 编辑脚本程序 212 17.3.3 常用事件函数 214 17.3.4 游戏对象和组件访问 215 第18章 Unity GUI图形用户界面 218 18.1 UGUI的基本介绍 218 18.2 UGUI的创建和基本操作 219 18.3 UGUI实例演示 220 18.3.1 GUI之Button和Text 221 18.3.2 GUI之Toggle应用 222 18.3.3 GUI的Image和Scrollbar应用 224 18.3.4 通过Button调用其他场景 225 18.3.5 Slider与游戏对象 226 18.4 打包与发布 227 第19章 Mecanim动画系统 229 19.1 Mecanim动画系统及其优势 229 19.2 Mecanim工作流程 230 19.3 人形角色动画讲解 230 第20章 游戏开发实例——奔跑的轮胎 239 参考文献 261

作者简介

扬长强,山东科技大学信息科学与工程学院副教授,主讲游戏程序设计、计算机图形学、Windows程序设计等课程10余年。曾获省教学成果二等奖,主讲的计算机图形学2次获校教学成果奖__eol__

编辑推荐

作者寄语

电子资料

http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0274250

www.luweidong.cn

下一个