0x00393436处最可能的异常:0xC0000005:读取位置0x00000020时发生访问冲突,调试出现这个错误!!!
上网找的结果都不是很直接能解决自己的问题
其实原因大多是初始化XML文件时出错,因为在这里出错
// //读取xml表信息
NameParser* myXml = NameParser::parserWithFile("rolename.xml");
在这里myXml是空的!!发现值是0xcccccccccc!!!!!
这个意思是未初始化时候的指针是指向地址0x0cccccccc的!!!所以说明没有初始化成功!!!再继续看到解析文件,
boolNameParser::initNameParser(constchar*tmxFile)
{
m_xmlMap.clear();
CCSAXParserparser;//定义解析
if(!parser.init("UTF-8"))//不是utf-8就不解析了
{
returnfalse;
}
parser.setDelegator(this);//设置解析的对象,这样就会调用解析的方法
stringfullPath=CCFileUtils::sharedFileUtils()->fullPathForFilename(tmxFile);
returnparser.parse(fullPath.c_str());
}
其实加载XML文件大多错误出现在加载路径的时候,经过单步调试,自己就是在这里出现错误, 说从XML文件加载数据失败,后来才发现自己XML文件不是放在Resource目录下,所以改了目录,最后运行,成功!!!
原文链接:https://www.f2er.com/xml/298387.html