zoukankan      html  css  js  c++  java
  • 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会被resase
    Map<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);
    }


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    C#获取当前路径的七种方法
    map容器对象插入数据的4种方式【转】
    为VMware虚拟机内安装的Ubuntu 16.04设置静态IP地址【转】
    Ubuntu16手动配置IP地址
    当前上下文不存在名称“***”
    C++读写文件ofstream,ifstream,fstream)[转]
    atoi()函数
    C++常用输出 cout、cerr、clog
    Lucene教程(转)
    selenium环境搭建1
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4684906.html
Copyright © 2011-2022 走看看