当前位置:首页 >  开发者 >  在游戏框架中添加支持

在游戏框架中添加支持

正如我们所工作所使用的其它内容资源,通过允许它们加载到游戏框架中,我们将简化模型工作任务。这些模型会添加到GameHost类,作为一个模型对象字典。通过游戏的LoadContent方法,所有我们所需要的模型可以因此加载到字典中,当它们必须在

正如我们所工作所使用的其它内容资源,通过允许它们加载到游戏框架中,我们将简化模型工作任务。这些模型会添加到GameHost类,作为一个模型对象字典。通过游戏的LoadContent方法,所有我们所需要的模型可以因此加载到字典中,当它们必须在屏幕上绘制时,就准备好进入字典了。

就游戏框架而言,我们可以离开,但通过添加另一个抽象基类所构建的渲染模型的目的,我们可以让我们的生活容易点。这个类称为MatrixModelObject并且来自于MatrixObjectBase类,如图所示。

从MatrixObjectBase类继承,意味着我们马上可以获得所有的矩阵-基础渲染属性,基于这些我们可以添加一些更多属性和方法,特别是处理模型的方法。然而,类是具体的类(非抽象类),可以直接实例化,并添加到GameObjects集合中,或可以继承来创建自定义额外游戏-特定功能类。

派生类的属性如下:
ObjectModel——由该累渲染的模型对象的引用
ObjectTexture——MatrixObjectBase类声明此属性,但由MatrixModelObject来重写,如果它没有一个纹理来明确提供查询,它尝试去从模型的纹理中去读取。一旦纹理设置到这个属性中,它将获得优先,并返回代替模型纹理,也将导致使用提供的纹理来渲染模型。

在类中的下列方法:
DrawModel——在上一篇文章中的代码中可以找到,本质上是相同代码,将使用提供的效果对象来绘制加载纹理。它首先确保一个所提供的ObjectModel,假如现在没有这类对象,会返回不需要做任何事。此外,如果一个纹理已明确由使用ObjectTexture属性的对象提供,这将用来从模型中代替纹理,允许简单定制模型纹理。
Update——重载标准的更新方法,以便效果属性可以用于前一个绘制的对象。这可以正常重载,对象属性的更新是必须的。
Draw——重载标准的绘制方法,默认设置首先调用PrepareEffect来加载所有对象设置,然后调用DrawModel来渲染加载的模型。因为这对于很多对象来说都是准确的行为,实现基类,为派生类移除必要的来实现自己的绘制重载。

在ImportingGeometry示例工程里可以看到工作的新的类。再次,代码所包含的是非常简单的,有利游戏框架来管理所有的在更新和呈现游戏这些更复杂的方面。在这个工程中,简单创建的派生类叫ImportedObject,一边它可以在每次调用更新中去改变它的旋转角度。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,
如果涉及侵权请联系站长邮箱:support@yingtwo.com 进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:none

最近更新

68.C++中的const
68.C++中的const

编写程序过程中,我们有时不希望改变某个变量的值...

封神榜哪个版本游戏
封神榜哪个版本游戏

PC上的荡神志、刀剑封魔录、封神榜之英雄无敌P...

硬盘怎么清洁
硬盘怎么清洁

给笔记本电脑硬盘清理灰尘的方法如下:1、用螺丝...

410m和7670哪个好
410m和7670哪个好

首先三款笔记本的处理器都是i52450m,内存...

手机2k17乔丹怎么获得
手机2k17乔丹怎么获得

NBA2k17选择乔丹先创建MC人物,打三局大...

多态、抽象类、接口练习:愤怒的小鸟
多态、抽象类、接口练习:愤怒的小鸟

需求说明:模拟实现愤怒的小鸟,定义鸟叫的接口,...

rx480配什么amdcpu
rx480配什么amdcpu

rx480可以搭配酷睿i3-6100cpu,酷...

6s主要的指导是什么
6s主要的指导是什么

6s指的是什么6s指的是什么,在现实生活中,6...

手机里dst什么意思
手机里dst什么意思

将时间在正常情况下提前一小时,如果实行“夏令时...

斗鱼1鱼翅等于多少鱼丸
斗鱼1鱼翅等于多少鱼丸

100鱼丸=100g,1T=1000kg=10...