CCTMXTiledMap中使用.tmx地圖編輯器需要注意的路徑問題導致的熱更後報錯
阿新 • • 發佈:2019-01-24
問題:CCTMXTiledMap:create(....tmx)建立地圖。問題是熱更xxx.tmx檔案,遊戲中更新完程式碼後,在進入相關的功能介面直接閃退。
原因:CCTMXTiledMap 中 在建立並解析.tmx檔案時,使用的圖片的路徑是.tmx同級的路徑下的圖片。雖然熱更庫裡邊有這個圖片的資源,但是本次熱更中新新增的內容裡沒有,所以同級目錄下沒有圖片資源。導致出錯
解決:再次熱更一下.tmx需要的那幾張資源,放到熱更的庫裡邊,熱更一下就ok
文字描述有點難懂,以下上傳圖片方便理解:
1.TAG V1.1617中下邊劃紅線的地方可以看到 只熱更了cave.tmx 檔案 , 熱更後進遊戲 進入活動閃退
2.tag v1.1618中熱更了 這個cave.tmx所需要的圖片資源,這樣熱更庫中就有了這幾個資源。進入遊戲後成功。
3.1上傳程式碼 ,這個是呼叫的地方。
3.2 上傳程式碼。 cocos2dx原始碼中的程式碼
create() 函式:
initWithTMXFile() 函式:
formatWithTMXFile() 函式:
initWithTMXFile() 函式:
找到m_sTMXFileName變數:
這個檔案是image,用的是下邊的情況:
從這裡我們知道了,原來他讀得是當前目錄下的image資源,太坑人了。如果熱更的過程中,你只熱更了.tmx檔案,而沒有熱更image資源,就會報錯,找不到image