之前碰到一個文件採用第一種加載方式時,如果地圖文件以及相對應的圖塊文件放在資源文件中的另一個文件下,比如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不能爲空,必須有一個圖塊填充,不然也會報內存錯誤!