计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

基于XML脚本驱动的DirectX游戏引擎(一)信息工(6)

2013-05-11 18:00
导读:p; DirectX3DAnimationDriver* m_pSkinModel; //蒙皮动画网格模型 . ~CRoleController(void); //构造函数与析构函数 }; #endif // (!__CROLECONTROLLER_H__) 3.8 工具包D3DUtility-------CCryst
p;          DirectX3DAnimationDriver* m_pSkinModel;     //蒙皮动画网格模型
.
               ~CRoleController(void); //构造函数与析构函数
 };
 #endif // (!__CROLECONTROLLER_H__)
 

3.8 工具包D3DUtility-------CCrystalMagic类和CBlazeMagic类介绍

 D3DUtility开发包中的CCrystalMagic类和CBlazeMagic类,分别对应游戏人物的一项魔法技能,他们有公共的基类CMagic,不同的是CCrystalMagic采用纹理贴图的方式实现,而CBlazeMagic是采用上面介绍的渐变动画方式实现。这里重点向大家介绍一下CBlazeMagic类的实现方法,通过对它的介绍相信大家也会对CCrystalMagic的实现也会有进一步的了解。
 CBlazeMagic类的头文件声明如下:
 .工具生成。他接受位图数组到D3DXCreateTextureFromFile从而创建纹理。
 Render函数接受从DXUT中OnFrameMove传下来的当前帧时间,达到连续播放的目的。进一步看一下Render内部的实现吧:
  // 计算当前纹理索引
 .用。大家可以到我的源代码中看看。
 
 
3.9 工具包D3DUtility-------CXMLSprite类介绍

         D3DUtility开发包中的CXMLSprite类----XML精灵类,是对msxml.dll中的API进行面向对象的封装,msxml.dll是Internet Explorer 4.0或更高版本的浏览器相关文件,用于解释XML文档的。封装的目的是为了给解析基于XML的游戏引擎脚本引CXMLScriptSprite.     ● XML节点对象
 XML节点对象代表的是XML文档内部的节点,如元素、注释、名字空间等。
        ● XML节点列表
 XML文档模块列表代表了节点的集合。
       利用DOM,开发人员可以动态地创建XML文档,遍历结构,添加、修改、删除内容等。其面向对象的特性,使人们在处理XML解析相关的事务时节省大量的精力,是一种符合代码重用思想的强有力编程工具。 (科教作文网http://zw.ΝsΕAc.Com编辑整理)
 .况,请参.接口。
 
.
{
 importlib("stdole32.tlb");
 importlib("stdole2.tlb");

 [
  object,
  uuid(1ECBE81A-B69C-4a02-924D-C1C2A1A2B1B2),//IID
  dual
 ]

 interface IXMLSprite : IDispatch
 {
  //properties:
  [propget, helpstring("Return the version of the CXMLSprite.")]
 
  BSTR GetNodeAttr([in] IXMLDOMNode * inNode, [in] const BSTR inAttr);
  appobject
 ]

 coclass CXMLSprite
 {
  [default] dispinterface IXMLSprite;
 }
}

   产生XMLSpriteLib_h.h,和XMLSpriteLib_i.c,我们在CXMLSprite.h中包含它们就可以了,最后切记要实现一下COM中的IUnknow、IDispatch中定义的方法。然后才能调用,调用的代码如下:
 
 然后就可以用pXml调用IXMLSprite中定义的方法了,是不是很简单呢?呵呵。
 
 
 3.11 工具包D3DUtility-------CXMLScriptSprite类介绍

        创建一个RPG游戏的项目时,会发现在源代码中编写游戏的相关信息十分困难。(游戏相关信息包括:角色的对白,物品的添加,人物模型的添加,物品的添加等)最好    的办
  </D3DWindow>
</D3DGameEngine>

 也许你接着会问如何编写D3DScript.xml脚本,从而控制游戏引擎呢??不急,现在马上给出编写指南:
 D3DScript脚本编写指南:
 A、 D3DWindow节点(必须),负责Win32窗口的管理。height,width这两个属性可指定,
 不指定的话,本脚本设置了默认值。title属性设置了窗口的标题。
      imagename属性为必须。
     H 、BlazeMagic节点(非必须),负责产生火焰魔法效果。id号属性,您不必改变。

(科教范文网http://fw.nseac.com)


        play属性决定是否在游戏中出现这个场景。hotkey属性决定产生该效果的热
        键。注意:BlazeMagic节点不用时可以不写,或把play属性置false即可。每
        个BlazeMagic节点的相对顺序无所谓。但是这里已id=27的节点为准。
         imagename属性为必须。
注意: CrystalMagic,GoldMagic、BlazeMagic的相对顺序无所谓。

 游戏脚本解析引擎类CXMLScriptSprite

上一篇:机电一体化的发展与应用 (一)信息工程毕业 下一篇:没有了