#include "ImageData.h"
#include "tinyxml/tinyxml.h"
#include "utils/ReadXMLFile.h"
#define _CRT_SECURE_NO_WARNINGS
ImgData ImageData::result = ImgData::ImgData();
void ImageData::LoadImageData(const char* fileName)
{
int count=0;
TiXmlDocument *doc=ReadXMLFile::initXMLFile(fileName);
TiXmlElement *Rootelement = doc->RootElement();
TiXmlElement *tiled=Rootelement->FirstChildElement();
while (tiled)
{
TiXmlAttribute* _src=tiled->FirstAttribute();
strcpy(result.Img_name[count],_src->Value());
TiXmlAttribute* _width=_src->Next();
result.Img_width[count] = atoi(_width->Value());
TiXmlAttribute* _height=_width->Next();
result.Img_height[count] = atoi(_height->Value());
TiXmlAttribute* _fx=_height->Next();
result.fx[count]=(float)atoi(_fx->Value());
TiXmlAttribute* _fy=_fx->Next();
result.fy[count]=(float)atoi(_fy->Value());
count++;
tiled=tiled->NextSiblingElement();
}
doc->Clear();
}
TiXmlDocument* ReadXMLFile::initXMLFile(const char* fileName)
{
TiXmlDocument* doc = new TiXmlDocument();
unsigned long uSize = 0;
unsigned char* pFileData = CCFileUtils::getFileData(CCFileUtils::fullPathFromRelativePath(fileName), "rb", &uSize );
if( NULL == pFileData){
//CCLOG("open file [%s] failed",path.c_str());
return NULL;
}
// 直接传入buff
doc->Parse((char*)pFileData);
return doc;
}