游戏程序设计教程——从游戏引擎构建到实际应用 万立中 万立新 Chapter_03新.pptVIP

游戏程序设计教程——从游戏引擎构建到实际应用 万立中 万立新 Chapter_03新.ppt

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第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 游戏引擎框架的构建 在游戏开发时,对于某一类游戏共享的、相对固定的代码,往往会进行抽象化,以代码重用为目的,以类的形式进行封装,这样封装起来的代码,也就是所谓的游戏引擎。 游戏引擎预先调用某些功能相对固定,但实现细节由具体游戏才能确定的模块,这些模块可以以纯虚函数的方式封装在抽象类中。 函数名称是确定的,且被游戏引擎自动调用,但函数的具体实现则由该抽象类的派生类进行实现。 使用引擎时,先实现一个该抽象类的派生类,然后完成这些纯虚函数的具体实现。 这样一来,这些纯虚函数实际上充当了接口函数的功能。 本章将首先涉及游戏引擎框架的构建和游戏窗口的处理。 3.1 游戏引擎框架的构建 3.1.1 引擎框架的设计 TinyEngine的架构: 3.1 游戏引擎框架的构建 引擎由11个类和一个共享的头文件构成。 全部的引擎文件都是以“T_”开头。 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_Config头文件是整个游戏引擎共用的头文件,它首先会被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 编写引擎框架测试代码 具体实现请参见教程和代码工程 演示引擎框架测试代码 3.2.2 为框架测试代码增加绘图处理任务 具体实现请参见教程和代码工程 演示增加绘图处理任务后的框架测试代码 The End Thanks! * * 游戏程序设计教程 ——从游戏引擎构建到实际应用 *

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档