修改SearchPaths的三種方式

2021-06-18 21:18:31 字數 2650 閱讀 8608

2.1.2開始引擎重構了ccfileutils,新增了資源的搜尋路徑佇列,目前提供的修改介面有兩個addsearchpath和setsearchpaths。

addsearchpath在當前佇列的最後新增新路徑。

setsearchpaths可以一次新增多個路徑,有兩種寫法:insert(**於assetsmanagertest)和push_back(**於hellocpp)。

兩個介面都支援相對路徑和絕對路徑,使用相對路徑時,會自動補全。

使用getsearchpaths可以獲得當前路徑佇列。

一、向空佇列新增

1.無測試**

std::vectorsearchpaths1 = ccfileutils::sharedfileutils()->getsearchpaths();

for (std::vector::const_iterator iter = searchpaths1.begin(); iter != searchpaths1.end(); ++iter)

//新增測試**

std::vectorsearchpaths2 = ccfileutils::sharedfileutils()->getsearchpaths();

for (std::vector::const_iterator iter = searchpaths2.begin(); iter != searchpaths2.end(); ++iter)

複製**

兩次取到的都只有資源根目錄

2.使用addsearchpath

ccfileutils::sharedfileutils()->addsearchpath("480_800");

ccfileutils::sharedfileutils()->addsearchpath("720_1280");

複製**

win32

andriod

可以看到新路徑按順序新增在最後

3.setsearchpaths的insert方式

std::vectorsearchpaths;

searchpaths.insert(searchpaths.begin(), "480_800");

searchpaths.insert(searchpaths.begin(), "720_1280");

ccfileutils::sharedfileutils()->setsearchpaths(searchpaths);

複製**

win32

andriod

可以看到後插入的排在最前面

4.setsearchpaths的push_back方式

std::vectorsearchpath;

searchpath.push_back("720_1280");

searchpath.push_back("480_800");

ccfileutils::sharedfileutils()->setsearchpaths(searchpath);

複製**

win32

andriod同3,略

可以看出路徑按新增順序排在前面

二、如果佇列裡已經有路徑,可以先呼叫getsearchpaths獲得佇列,然後修改佇列

ccfileutils::sharedfileutils()->addsearchpath("480_856");

std::vectorsearchpaths1 = ccfileutils::sharedfileutils()->getsearchpaths();

for (std::vector::const_iterator iter = searchpaths1.begin(); iter != searchpaths1.end(); ++iter)

//新增測試

std::vectorsearchpaths2 = ccfileutils::sharedfileutils()->getsearchpaths();

for (std::vector::const_iterator iter = searchpaths2.begin(); iter != searchpaths2.end(); ++iter)

複製**

1.insert方式

searchpaths1.insert(searchpaths1.begin(), "480_800");

searchpaths1.insert(searchpaths1.begin(), "720_1280");

ccfileutils::sharedfileutils()->setsearchpaths(searchpaths1);

複製**

可以看到後新增的排在前面,多了乙個根路徑的原因是,介面會判斷路徑的最後乙個字元是不是"/",如果不是則新增乙個,而介面在最後會判斷是否已經新增過根路徑,如果沒有則加上,因為多了乙個"/",導致介面認為沒有加過,所以win32下有這個問題,安卓下沒有問題

2.push_back方式

searchpaths1.push_back("720_1280");

searchpaths1.push_back("480_800");

ccfileutils::sharedfileutils()->setsearchpaths(searchpaths1);

複製**

可以看到新路徑按順序加在最後

Git 三 管理修改

現在,假定你已經完全掌握了暫存區的概念。下面,我們要討論的就是,為什麼git比其他版本控制系統設計得優秀,因為git跟蹤並管理的是修改,而非檔案。你會問,什麼是修改?比如你新增了一行,這就是乙個修改,刪除了一行,也是乙個修改,更改了某些字元,也是乙個修改,刪了一些又加了一些,也是乙個修改,甚至建立乙...

MairDB 修改表 三

第一部分 修改前的備份 1.1 刪除資料庫和表是不可逆的,修改刪除前請慎重 1.2 備份資料的命令 mysqldump 1.3 檢視幫助 mysqldump help mysqldump user root p study db tmp study db1.sql enter password 最簡...

DOM詳解 三 DOM修改

1.innerhtml 獲取或設定元素開始標籤到結束標籤之間的html 片段。2.textcontent 獲取或設定元素開始標籤到結束標籤之間的純文字內容。2件事 1.去掉了html標籤 2.將轉義字元轉換為正文 何時 如果希望去掉內容中的標籤,僅獲取文字內容時 textcontent有相容性問題 ...