[置顶] 寒風的Cocos2dx之旅之Vector用法

时间:2022-12-04 19:02:13

       通过一天的时间看Vector,其实Cocos的Vector跟C++的区别在于前者可以自动释放空间,后者需要自行手动释放。下面来为大家介绍一下Vector的用法吧。Vector<T>它是一个模板类,就是一个动态数组,只不过Vector功能更为强大,所以我们经常用它来在程序中使用。尖括号里<>,是数据类型,那我们想添加一个Layer或者Sprite这种指针类型的变量,格式就是:Vector<Sprite *> 对象名称; 

        在创建完一个对象后,我们就要根据我们的需要,来添加、删除、替换等操作。添加的方法有:void pushback(T Object);在最后一个元素之后添加元素,void pushBack(const Vector<T> &other)把一个Vector对象中所有元素添加到当前Vector对象中。 而删除则是用void popback();移除最后一个元素。还有交换的方法:void swap(元素1,元素2); void swap(位序1,位序2);void replace(位序,元素);(用一个位序来替换指定位置的元素)

        我们往往通过一个for循环来实现添加。.cpp代码如下:

        this->v=Vector<数据类型>(数据规模);

        for(int i=0;i<数据规模;i++)

        {

             //初始化操作

             this->v.pushback(数据类型);//添加对象

             this->addchild();

         }

         //循环遍历v对象容器

         for(const auto &sprite :this->v)

        {

             int x=数字;

             int y=数字;

             v->setPosition(x,y);

             this->removeChild(v);

             this->addChild(v);

        }

              以上就是Vector的基本用法。