




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 构建游戏引擎框架内容提纲 3.1游戏引擎框架的构建3.1.1 引擎框架的设计3.1.2 T_Config头文件的定义3.1.3 屏幕分辨率的改变及恢复3.1.4 引擎类的定义和实现3.2引擎类应用实例3.2.1 编写引擎框架测试代码3.2.2 为框架测试代码增加绘图处理任务第3章 构建游戏引擎框架本章以构建游戏引擎框架为起点,以游戏窗口处理为主要实现内容。后续的章节将以本章的代码框架和窗口处理为基础,逐步完成一个初步的游戏引擎的实现,并在实际游戏中运用该游戏引擎。3.1 游戏引擎框架的构建在游戏开发时,对于某一类游戏共享的、相对固定的代码,往往会进行抽象化,以代码重用为目的,以类的形式
2、进行封装,这样封装起来的代码,也就是所谓的游戏引擎。游戏引擎预先调用某些功能相对固定,但实现细节由具体游戏才能确定的模块,这些模块可以以纯虚函数的方式封装在抽象类中。函数名称是确定的,且被游戏引擎自动调用,但函数的具体实现则由该抽象类的派生类进行实现。使用引擎时,先实现一个该抽象类的派生类,然后完成这些纯虚函数的具体实现。这样一来,这些纯虚函数实际上充当了接口函数的功能。本章将首先涉及游戏引擎框架的构建和游戏窗口的处理。 3.1 游戏引擎框架的构建3.1.1 引擎框架的设计TinyEngine的架构:3.1 游戏引擎框架的构建引擎由11个类和一个共享的头文件构成。全部的引擎文件都是以“T_”开
3、头。1. T_Config头文件2. T_Display显示类3. T_Engine引擎类其中定义了GameInit()、GameLogic()、GameEnd()、GamePaint()、GameKeyAction()、GameMouseAction()这6个纯虚函数,本类是专门用于派生的抽象类4. T_Graph图形类5. T_Menu菜单类6. T_Layer图层类7. T_Sprite精灵类8. T_AI智能类9. T_Util工具类10. T_Map地图类11. T_Scene场景类12. T_Audio声音类3.1 游戏引擎框架的构建3.1.2 T_Config头文件的定义T_Co
4、nfig头文件是整个游戏引擎共用的头文件,它首先会被T_Engine类引用。这个文件只有.h的头文件,没有对应的.cpp源文件。文件中主要是一些数据结构定义、常量定义,以及所需系统头文件的引用等。除了已经给出的定义外,您还可以根据开发的需要自己增加所需要的数据结构定义、数据类型定义、常量定义等。T_Config.h文件完整定义请参见教程3.1 游戏引擎框架的构建3.1.3 屏幕分辨率的改变及恢复处理游戏的分辨率是游戏引擎必备的功能1.修改分辨率的API函数ChangeDisplaySettings()函数,其原型定义如下: LONG ChangeDisplaySettings (LPDEVMODE lpDevMode, DWORD dwflags);2.将分辨率处理功能封装成类1) T_Display类的定义:请参见教程2) T_Display类的实现:请参见教程3.1 游戏引擎框架的构建3.1.4 引擎类的定义和实现T_Engine引擎类的定义和接口函数声明在T_Engine.h头文件中完成;类成员函数的定义及类的静态数据成员的初始化则在T_Engine.cpp源文件中实现。T_Engine类的定义:请参见教程T_Engine类的实现:请参见教程3.2 引擎类应用实例3.2.1 编写引擎框架测试代码具体实现请参见教程和代码工程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度新股东入资生物制药产业合作协议
- 2025年度电子商务平台员工劳务外包及运营合同
- 二零二五年度长租公寓退租服务保障协议
- 二零二五年度餐饮连锁生意合作合同范本
- 房产证抵押贷款合同抵押物管理协议(2025年度)
- 二零二五年度精装高层购房定金合同
- 2025年度私人宅基地买卖转让协议书及配套设施建设补充协议
- 2025年度租房押金监管及退还标准合同
- 二零二五年度文化产业投资入股协议
- 2025年黑龙江货运从业资格证的试题
- 山东省莱芜市高职单招2023年综合素质练习题含答案
- 质量管理软件操作手册
- 新人教版五年级上册数学应用题大全doc
- 翰威特任职资格撰写培训材料
- 大家排好队说课
- 铁氧体永磁材料
- 湘教版初中数学教材目录
- 2023年新改版教科版四年级下册科学精编练习题(含单元+期中+期末测试卷)
- 2021年剑桥国际少儿英语KidsBox2文本
- 金蝶云星辰初级考试题库
- GM/T 0107-2021智能IC卡密钥管理系统基本技术要求
评论
0/150
提交评论