免费获取|
论文天下网
  • 论文天下网 |
  • 原创毕业论文 |
  • 论文范文 |
  • 论文下载 |
  • 计算机论文 |
  • 论文降重 |
  • 论文排版 |
  • 外文翻译 |
  • 免费论文 |
  • 开题报告 |
  • 心得体会 |

当前位置:论文天下网 -> 免费论文 -> 电子专业

基于XML脚本驱动的DirectX游戏引擎(四)

具包D3DUtility------- ID3DObjectFactory、D3DDotXFactory类介绍

 其中类ID3DObjectFactory,是负责产生D3D对象的工厂类,是一个接口,D3DDotXFactory实现了它。其中用到了设计模式中的工厂方法模式。至于说什么才能叫作工厂方法模式呢??它的定义是这样的:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使得一个类的实例化延迟到了子类。
 它的UML图如下:
 
 Product就是一个工厂的接口,定义了一种产生对象的抽象方法。
 ConcreteProduct就是具体实例化一个工厂ConcreteCreator的。
 ConcreteCreator就是具体一个工厂,这个工厂可能实现了抽象类Creator中定义的方法。
 现在,我把D3DUtility包中的实际代码拿出来具体说明一下:
 首先现定义一个抽象基类DirectX3DObject(相当于上面的Creator):
 .
  工具包D3DUtility-------DirectX3DDotXObject类介绍
 该类实现了对3DSMAX模型文件(.x)的驱动及其控制,从DirectX3DObject(DirectX3D的基类派生,而且实现IControlDirectX3DObject中的方法。DirectX3DObject类的结构如下:
 extern BYTE m_bKey[256];//键盘事件响应的按键数组
 .           其中对于键盘事件的响应被封装在void SetWorldMatrix(void);中了,原因很简单对于一个模型文件
 进行一些控制,比如平移,旋转等等操作就是对世界坐标矩阵的操作。下面简单介绍一下:
          平移。物体上每个点进行水平和垂直的移动,Dx 和Dy 参数分别给出移动的尺寸。
具体算法x' = x + Dx ,y' = y + Dy 。其中 x',y' 是新的坐标, x,y 是源坐标。
 Dx是水平移动距离,Dy是垂直移动距离。平移矩阵是:
                                 |1   0   0| |x' y' 1| = |x y 1| *  |0   1   0|                            |Dx Dy 1|
 旋转。组成物体的每个点都相对于坐标原点旋转一个角度。
 算法公式是:x' = (x * cos A) - (y * sin A)  ,y' = (x * sin A) + (y * cos A)。
 A表示绕原点逆时针旋转的角度,用矩阵表示如下:
 | cos A   sin A   0|                   |x' y' 1| = |x y 1| *   |-sin A   cos A   0|                                         |   0        0       1|
 为了简单起见,故把对3DSMAX模型文件(.x)的键盘事件响应写在了
 void SetWorldMatrix(void); 中。
 
 
3.5 工具包D3DUtility-------DirectX3DAnimationDriver类介绍

 功能是用来具体驱动骨骼模型,这个类会用到了D3DUutility工具包 中的MultiAnimationFrame和MultiAnimationMeshContainter。其中MultiAnimationFrame、MultiAnimationMeshContainter用来驱动骨骼模型的类。MultiAnimationMeshContainter.
          .
            Frame Bip01_R_Foot {//--孙子骨骼            FrameTransformMatrix {             0.988831,0.124156,0.082452,0.000000,-0.122246,0.992109,-0.027835,
.
   AnimationKey {           4;   //动画类型 :4表示变换矩阵键。用1

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 4/8/8

相关论文
上一篇:机电一体化的发展与应用 下一篇:基于80C51的温湿度控制系统.
推荐论文 本专业最新论文
Tags:基于 XML 脚本 驱动 DirectX 游戏 引擎 2010-03-22 23:47:35【返回顶部】

相关栏目

自动化相关
计算机论文
工程管理论文
法律论文
医学论文
人力资源
电子专业
电气工程
英语论文
行政管理
电子商务
社科文学
教育论文
物流专业
金融专业
财务管理
会计专业
化学化工材料科学
电子通信
环境科学
经济类
机械模具类
报告,总结,申请书
其他专业论文


关于我们 | 联系方式 | 论文说明 | 网站地图 | 免费获取 | 钻石会员 | 原创毕业论文

 

论文天下网提供论文检测,论文降重,论文范文,论文排版,网站永久域名WWW.GEPUW.NET

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 893628136@qq.com

Copyright@ 2009-2017 GEPUW.NET 论文天下网 版权所有