cocos2d-x3.0数据结构
1、cocos2d::Vector
1、头报价"CCVector.h"头文件。2、保存的数据类型必须是cocos2d::Ref的子类。3、实现是动态加入数据集合即链表。主要的使用方法 说明一下加入节点时,节点会被retain,删除节点时会被resase。自己实现了内存管理
Vector<Sprite*> vector; //声明 auto sp0 = Sprite::create(); vector.pushBack(sp0); //加入节点 vector.pushBack(sp0); vector.pushBack(sp0); //工加入了三个节点 int length = vector.size(); //获取节点个数 vector.erase(vector.begin()+1); //删除第二个节点 vector.begin()为開始节点 vector.clear(); //删除全部节点4、说明下std::vector,基本使用跟cocos2d::Vector差点儿相同,主要有以下却别,一个V大写一个v小写,td::vector引用头文件 #include "vector",只是std::vector,加入节点时不会retain,删除时也不会resase。
可是它能够存不论什么类型比方:int、string等。
2、cocos::Map
1、引用头文件"CCMap.h"头文件。2、他们是数据key、value相应集合,key能够是随意类型,value必须是cocos2d::Ref的子类。3、基本用法 加入节点时,value节点会被retain,删除节点时value会被resaseMap<int,Sprite*> tage; //声明 auto sp0 = Sprite::create(); tage.insert(0,sp0); //加入节点 tage.size();// 获取节点个数 (Sprite*)(tage.at(0)); //依据key获取value tage.erase(0); //依据key删除value tage.clear(); //删除全部
4、遍历全部节点std::vector<int> mapKeyVec; mapKeyVec = tage.keys(); for(auto key : mapKeyVec) { <span style="white-space:pre"> </span>tage.at(key); }
版权声明:本文博客原创文章,博客,未经同意,不得转载。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步