cocos2d-x 動態(tài)庫無法加載資源文件

很奇怪在使用cocos2d-x測試的demo中,加載自定義的資源文件路徑就完全沒問題,但通過打包的動態(tài)庫來運行,cocos2d-x的圖片就加載不出來,有小伙伴說是沒有bundle的問題,這誤會就大發(fā)了。我們通常會將庫的資源文件放在bundle中,是為了避免庫中的圖片名和工程中使用的圖片名沖突的問題。
問題在于工程的設(shè)置。
動態(tài)庫和測試demo,都設(shè)置了COMPRESS_PNG_FILES 為NO,但是檢查來檢查去也不明白問題在哪里,最后百度發(fā)現(xiàn)問題在這里,REMOVE_TEXT_METADATA_FROM_PNG_FILES同樣需要設(shè)置為NO
在Target-build settings中,


屏幕快照 2017-06-20 上午10.54.42.png

點擊+,添加自定義選項設(shè)置。設(shè)置如下

屏幕快照 2017-06-20 上午10.58.15.png

為cocos2d-x設(shè)置資源路徑

NSString *rPath = @"SXResources";
std::vector<std::string> searchPathList;
    searchPathList.push_back([rPath UTF8String]);
    cocos2d::FileUtils::getInstance()->setSearchPaths(searchPathList);
注意:

cocos2d-x的資源文件夾默認是Resources。
如下圖中,資源文件一定要是藍色文件才可以,并且藍色文件的名字不能是Resources,否則運行會報錯。


屏幕快照 2017-06-20 上午11.37.02.png

添加進去的資源文件,在Added folders中要選擇Create folder references才可以(添加的文件是有目錄的),為藍色文件夾形式存在。它只是將文件單純的創(chuàng)建了引用,這些文件不會被編譯,所以在使用的時候需要加入其路徑;

而Create groups并不會存在于項目的目錄中:使用Create groups 我們在項目中可以手動添加一個groups(右鍵點擊選擇New Group),
但是手動添加的groups實際上并不會存在于項目的目錄中,被添加進groups中的文件仍在位于它原來所在的位置,
但從外部引入進來的groups并不會如此。groups一旦被創(chuàng)建或添加,都是以黃色文件夾的形式存在的,
當你想要使用文件夾中的某個類的頭文件時,你可以直接添加它的引用。因為groups下的文件是會被編譯的。

屏幕快照 2017-06-20 上午11.39.33.png
附贈小技巧:

如何刪除build settings的某一項?
答:選中該行,按delete鍵即可
如何重命名build settings的選項?
答:選中改行,按Enter鍵即可

參考:
http://blog.csdn.net/zyq522376829/article/details/52484182
http://blog.csdn.net/sinat_20037505/article/details/51549824
IOS中獲取各種文件的目錄路徑的方法
http://blog.csdn.net/better_dong/article/details/52071901

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容