应要求,放出读取XML文件相关的源码

地形类的源码里面关联了其他类的一些东西,其实就是XML读取的帮助类而已

TLBBFileBuffer这个类就是一个内存缓冲而已,简单说就是一个uchar的数组... 用来把2进制文件一次性读取到内存中而已.

我的代码里面只把XML类型的文件读取到内存里面,其他文件比如heightmap等,并没有用这个类来读取

TLBBFileBuffer这个类没什么东西,原理就是: DataStreamPtr mStreamPtr = ResourceGroupManager::getSingleton().openResource( name.c_str(), TLBB_RESOURCE_GROUP);

size_t mSize = mStreamPtr->size(); uchar* mBuffer = new uchar[mSize]; mStreamPtr->read(mBuffer, mSize);

然后所有二进制文件的数据,都保存在mBuffer里面载入XML文件的时候:

// 载入地形XML文件

 TiXmlDocument doc;

TLBBFileBuffer fileBuffer(filename);

 doc.Parse((char*)fileBuffer.GetBuffer());

GetBuffer()其实返回的就是上面的mBuffer,一个内存数组而已, doc.Parse这个函数可以直接从内存里面解析XML文件, 而Utils工具类,只是一些帮助函数而已,会XML的,自己都可以写头文件:

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值