之前碰到一个文件采用第一种加载方式时,如果地图文件以及相对应的图块文件放在资源文件中的另一个文件下,比如map文件夹下时,会发生错误,找不到图块文件,因为源码依然实在资源文件下找。
这种情况下,比如对资源进行分类,把地图文件单独放到一个文件夹下,就要用到第二种加载方式了
//创建一个CCTMXTiledMap(第一种加载方式)
CCTMXTiledMap *bgMap = CCTMXTiledMap::create("tiledMap\\background.tmx");
//创建一个CCTMXTiledMap(第二种加载方式)
std::string resources = "TileMap";
std::string file = resources + "/orthogonal-test1.tmx";
CCString* str = CCString::createWithContentsOfFile(CCFileUtils::sharedFileUtils()->fullPathForFilename(file.c_str()).c_str());
//create参数说明:资源文件全路径,资源路径目录
CCTMXTiledMap *map = CCTMXTiledMap::createWithXML(str->getCString() ,resources.c_str());
另外tiledMap不支持bmp的图块图片,每一个layer不能为空,必须有一个图块填充,不然也会报内存错误!