Cocos2dx中類庫中Map容器的使用

2021-08-04 16:58:49 字數 2137 閱讀 1689

//定義乙個容器變數

mapmap1;

// empty函式返回

map容器是否為空

log("%s",map1.empty() ? "map1容器為空

!":"map1

容器不為空

!");

// size函式返回

map容器中元素的數量

log("map1.size: %i",(int)map1.size());

log("bucket_count = %d", static_cast(map1.bucketcount()));

for (int i = 1; i <= 10; i++)

auto node = node::create();

node->settag(i);

// insert函式向容器中插入新元素

map1.insert(stringutils::tostring(i), node);//const k& key, v object

log("----- map容器中所有

key ---------"); //

keys函式獲得

map容器的所有鍵,遍歷列印結果並不是插入順序顯示,因為

map是無序的

auto keys = map1.keys();

for (const auto& key : keys) {

log("key = %s", key.c_str());

// getrandomobject函式獲得隨機的物件

log("getrandomobject: %i",map1.getrandomobject()->gettag());

log("------ 根據值查詢

key --------");

// at函式根據鍵查詢返回值

auto node10key = map1.at("10");

map1.insert("100", node10key);

map1.insert("101", node10key);

map1.insert("102", node10key);

// 返回引數v在

map中匹配的所有鍵的集合

auto keysforobject = map1.keys(node10key);

for (const auto& key : keysforobject)

log("key = %s", key.c_str());

// find函式根據

key查詢返回對應的迭代器,迭代器中包含了鍵和值

auto nodetofind = map1.find("100");

log("first: %s",nodetofind->first.c_str());

log("second: %i",nodetofind->second->gettag());

// erase函式刪除容器中的元素

log("------ erase之後

--------");

// 根據

key刪除

map1.erase("1");

// 根據迭代器刪除

map1.erase(map1.find("2"));

// 根據鍵集合刪除

std::vectoritemstoremove;

itemstoremove.push_back("3");

itemstoremove.push_back("4");

itemstoremove.push_back("5");

map1.erase(itemstoremove);

for (const auto& key : map1.keys())

log("key = %s", key.c_str());

// clear函式清空容器

map1.clear();

log("------ clear之後

--------");

log("%s",map1.empty() ? "map1容器為空

!":"map1

容器不為空

!");

// size函式返回

map容器中元素的數量

log("map1.size: %i",(int)map1.size());

關於cocos2d x中的動畫類

ccsprite pothersprite ccsprite create coin.png pothersprite setanchorpoint ccp 0,0 this addchild pothersprite pothersprite runaction ccplace create cc...

關於cocos2dx中tableView的一些理解

先看 h檔案中 ifndef helloworld scene h define helloworld scene h include cocos2d.h include cocos ext.h using ns cc using ns cc ext class helloworld public ...

cocos2d x中的精靈

所有的遊戲都有 sprites 精靈,你可能知道或者不知道它們是什麼。精靈就是遊戲中在場景裡進行移動的物件。你可以操縱它們。精靈可能是遊戲中最主要的角色。我知道你在想什麼 難道每乙個圖形物件都是精靈sprite嗎?當然不是!為什麼?當你操縱乙個精靈的時候,它就是乙個精靈。如果你不對它進行操作,那它就...