coco2dx获取csb中的所有图片

 1 std::string CSLoader::GetTextureListFromCsb(const std::string& filename)
 2 {
 5     std::string path = filename;
 6     size_t pos = path.find_last_of('.');
 7     std::string suffix = path.substr(pos + 1, path.length());
 8 
 9     CSLoader* loader = CSLoader::getInstance();
10     loader->_textureList.clear();
11 
12     if (suffix == "csb")
13         loader->GetTextureList(loader, filename);
14 
15     //去除重复项
16     sort(loader->_textureList.begin(), loader->_textureList.end());
17     std::vector<std::string>::iterator iter = unique(loader->_textureList.begin(), loader->_textureList.end());
18     loader->_textureList.erase(iter, loader->_textureList.end());
19 
20     std::string rtn;
21     int count = loader->_textureList.size();
22     if (count > 0)
23     {
24         std::string tail = ".plist";
25         for (int i = 0; i < count; i++)
26         {
27             std::string path = loader->_textureList.at(i);
28             if(path.compare(path.size() - tail.size(), tail.size(), tail) == 0)
29             {
30                 path = path.replace(path.size() - tail.size(), 6, ".png");
31             }33             rtn += path + "|";
34         }
35     }
36     return rtn;
37 }

 

posted @ 2019-03-21 13:02  小翔momo  阅读(196)  评论(0编辑  收藏  举报