1. 简介
值得注意的是,在v3.0 beta中除了加入Vector外,还加入了Map。定义在"COCOS2DX_ROOT/cocos/base"的"CCMap.h"头文件中。
template <class K, class V>
class CC_DLL Map;
cocos2d::Map<K,V>是使用std::unordered_map作为底层结构的关联式容器。而std::unordered_map是一个存储值对的关联式容器,它可以通过它们的键快速检索对应的值。使用unordered_map,键通常是唯一的,而值则与这个键对应。
在unordered_map内部,元素是无序,它们是根据键的哈希值来存取的,存取的时间复杂度是常量,超级快。
在cocos2d-x v3.0 beta之前,使用的是另外一种顺序式容器cocos2d::CCDictionary,不过它很快将被废弃。所以在以后的使用中,应该尽量使用cocos2d::Map而不是cocos::CCDictionary。
2. 基本使用
(1)创建容器
先创建两个精灵
auto sp1=Sprite::create("CloseNormal.png");
sp1->setPosition(Point(100,100));
this->addChild(sp1,1);
auto sp2=Sprite::create("CloseSelected.png