使用OgreMax自定义数据(CDATA)

前提:

1.Ogitor附带的DotSceneLoader,其使用rapidxml进行xml解析;

2.OgreMax导出场景,导出的用户自定义以CDATA格式存在于生成的xml中。

 

实例:

1.编写OgreMax自定义数据{

我编写的自定义类型: 路点

<userDataTypes> <class name="WayPoint"> <data name="ID" type="int"/> <data name="x" type="int"/> <data name="y" type="int"/> <data name="z" type="int"/> </class> </userDataTypes>

在OgreMax->Object Settings->User Data中载入,中选择"WayPoint"类型,它会按照xml中定义的数据显示。

 

在场景导出后的数据:

<userData> <![CDATA[

<WayPoint>

<ID>1</ID>

<x>45</x>

<y>0</y>

<z>45</z>

</WayPoint>

]]> </userData>

}

2.DotSceneLoader常规解析;

3.调用processUserDataReference{

//在processNode或processEntity最后:

// Process userDataReference (?) pElement = XMLNode->first_node("userData"); if(pElement) processUserDataReference(pElement, pNode);

}

4.CDATA数据的二次解析{

rapidxml::xml_document<> cdata_doc;     

cdata_doc.parse<0>(XMLNode->first_node()->value()); rapidxml::xml_node<>* cdata_node = cdata_doc.first_node("WayPoint");

                Ogre::String strID = cdata_node ->first_node("ID")->value();

......

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值