cocos2d-x3.x Vector
- auto sp0 = Sprite::create();
- sp0->setTag();
- auto sp1 = Sprite::create();
- sp1->setTag();
- //这里使用了 shared_ptr,在你的代码中,请使用栈对象替代
- std::shared_ptr<Vector<Sprite*>> vec0 = std::make_shared<Vector<Sprite*>>();
- vec0->pushBack(sp0);
- Vector<Sprite*> vec1();
- vec1.insert(, sp1);
- //也可以加入一整个 vector
- vec1.pushBack(*vec0);
- for(auto sp : vec1){
- log("sprite tag: %d", sp->getTag());
- }
- Vector<Sprite*> vec2(*vec0);
- if (vec0->equals(vec2)) {
- log("vec0==vec2");
- }
- if (!vec1.empty()) {
- //获取 vector 的 capacity 和 size,要注意的是 capacity 并不一定等于 size
- if (vec1.capacity() == vec1.size()) {
- log("pVec1->capacity()==pVec1->size()");
- }else{
- vec1.shrinkToFit(); //收缩 vector 以便内存对应上元素的数量,capacity是容量,size才是元素的数量
- log("pVec1->capacity()==%d; pVec1->size()==%d",vec1.capacity(),vec1.size());
- }
- //pVec1->swap(0, 1); //通过索引交换 vector 中的两个元素
- vec1.swap(vec1.front(), vec1.back()); //通过值交换 vector 中的两个元素
- if (vec2.contains(sp0)) { //返回一个布尔值,用于指示该对象是否存在于 vector 中
- log("The index of sp0 in pVec2 is %d",vec2.getIndex(sp0));
- }
- //从 vector 中移除元素
- vec1.erase(vec1.find(sp0));
- //pVec1->erase(1);
- //pVec1->eraseObject(sp0,true);
- //pVec1->popBack();
- vec1.clear(); //移除所有元素
- log("The size of pVec1 is %d",vec1.size());
- }
输出:
- sprite tag:
- sprite tag:
- vec0==vec2
- pVec1->capacity()==; pVec1->size()==
- The index of sp0 in pVec2 is
- The size of pVec1 is
cocos2d-x3.x Vector的更多相关文章
- cocos2dx的模板容器简单使用(Vector,Map,Value)
在cocos2dxv3.0beta之前存在顺序性容器cocos2d::CCArray,和cocos2d::CCDictionary.可是在新版本号之后这两个容器都将被cocos2d::Vector&l ...
- cocos2dx 2.x实现闪电效果(贴画版)
cocos2dx 2.x实现闪电效果(非画线版) 在网上搜索到一个直接用opengl画线实现的版本,但放在游戏中效果不太搭,要求用贴图的.我这个版本用的也是画线版的算法. 闪动的时候效果还可以,每段衔 ...
- cocos2dx 3.x(实现帧动画(人物动画,跑马灯效果)的几种方法)
//创建一个跑酷的精灵 auto sprite = Sprite::create("1.png"); //设置精灵的坐标 sprite->setPosition(Ve ...
- cocos2dx A*算法
头文件和源文件拷贝到项目中就能用了! have fun 使用cocos2dx 3.2 原理都一样 淡蓝色的点是地图 深蓝色的点是障碍物 绿色的点是路径 暗绿色的点是搜寻过的点 红色的点是按路径行走的点 ...
- POJ2242 The Circumference of the Circle(几何)
题目链接. 题目大意: 给定三个点,即一个任意三角形,求外接圆的周长. 分析: 外接圆的半径可以通过公式求得(2*r = a/sinA = b/sinB = c/sinC),然后直接求周长. 注意: ...
- cocos2dx A* + tiledMap
本文转自:http://blog.csdn.net/w18767104183/article/category/1757765 前面一章讲了cocos2dx 中使用A星算法 这章中讲 A*结合tile ...
- 1.cocos2dx存储卡的游戏代码、而游戏移植到“华为荣耀”电话、问题的总结移植
1记忆卡片游戏代码 CardItem.h #pragmaonce #ifndef__CardItem_H__ #define__CardItem_H__ #include"cocos2 ...
- 笔记:利用 Cocos2dx 3.2 与 Box2D制作一个跑酷游戏(上)
最近写lua写得没有力气了,所以想让脑袋放松一下,刚好看到有人在用swift做游戏: Swift游戏实战-跑酷熊猫 于是脑子一短路,就想到了利用这些素材来做一个游戏. 本来不想记笔记的,但是由于选择物 ...
- bzoj2908
题解: 我的做法好像跟网上不太一样.. 首先分位讨论 我的做法是先观察出了一个性质 这个答案只跟最后一个0出现的位置有关(这个随便yy一下很容易出来因为运算有0则1) 然后问题就变成了 给出一棵树,支 ...
- cocos2dx帧动画
//帧动画的创建 //方式一,通过多张图片来创建 auto sprite1 = Sprite::create("grossini_dance_05.png"); sprite1-& ...
随机推荐
- highstock
$(function () { $.getJSON('http://www.hcharts.cn/datas/jsonp.php?filename=aapl-ohlcv.json&callba ...
- chapter 14_1 环境
Lua将其所有的全局变量保存在一个常规的table中,称为“global environment”. Lua将环境table自身保存在一个全局变量_G中,_G._G等于 _G . 比如下面的代码打印出 ...
- 修改textField的placeholder的字体和颜色
textField.placeholder = @"username is in here!"; [textField setValue:[UIColor redColor] fo ...
- BatteryWarning 电池预警
MTK BatteryWarning 在mediatek/external/batterywarning下,会编译生成一个可执行文件:batterywraning main()函数中,会间断读取 /s ...
- 请问如何查询一个APP的Android和iOS下载量?
作者:Jasmine Jiang链接:http://www.zhihu.com/question/28533067/answer/87871598来源:知乎著作权归作者所有,转载请联系作者获得授权. ...
- java 判断大小写、数字出现的次数
//定义一个字符串 String s = "Hello123World"; //定义三个统计变量 int bigCount = 0; int smallCount = 0; int ...
- Core Animation中的组动画
实际开发中一个物体的运动往往是复合运动,单一属性的运动情况比较少,但恰恰属性动画每次进行动画设置时一次只能设置一个属性进行动画控制(不管是 基础动画还是关键帧动画都是如此),这样一来要做一个复合运动的 ...
- android 优化
1. 使用原生Sqlite语句进行增删改查的操作,而不是使用ContentProvider来封装操作. 2. 对于需要一次性修改多个数据时,可以考虑使用SQLite的事务方式批量处理.
- 第三十五节,json数据类型转换字符串模块
在使用json模块时需要先 import json 引入模块 json.dumps()模块函数 功能:将Python数据类型转换成字符串[有参] 使用方法:json.dumps(要转换的数据类型变量) ...
- java中的静态变量
大家都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立.然而在某些时候,我们更希望该类所有的对象共享同一个成员.此时就是 static 大显身手的时候了!! Java 中 ...