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);
}

http://blog.csdn.net/st75033562/article/details/29574939

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

时间: 2024-10-09 03:59:46

cocos2d-x3.0数据结构的相关文章

cocos2d(3.0)一些基础的东西

1.创建项目后环境配置: 附加文件夹:加入 $(EngineRoot) $(EngineRoot)cocos $(EngineRoot)cocos\editor-support $(EngineRoot)build\Debug.win32 ..\proj.win32 通用属性加入 (先从 cocos2d-x-3.0rc0 中 extensions   cocos\editor-support   cocos\ui 加入进去) libcocosstudio libExtensions libGUI

如何在Cocos2D 1.0 中掩饰一个精灵(六)

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 掩饰一个精灵:实现代码 打开HelloWorldLayer.m并且在init方法上方添加如下方法: - (CCSprite *)maskedSpriteWithSprite:(CCSprite *)textureSprite maskSprite:(CCSprite *)maskSprite { // 1 CCRenderTexture * rt = [CCRe

学生信息管理系统(cocos2d引擎)——数据结构课程设计

老师手把手教了两天半,看了一下模式,加了几个功能就大功告成了!!! 给我的感想就是全都是指针! 添加图片精灵: CCSprite*  spBG = CCSprite::create(""); this->addChild(spBG); //添加到当前层 spGB->setPosition(ccp(x,y)); //设置坐标 spGB->setScale(0.5); //缩放 文字按钮: CCMenuItemFont* pItem = CCMenuItemFont::c

cocos2d 3.0 屏幕适配

1.解决方案 先直接给出解决方案,再慢慢解释,当然这个解决方案也不是完全完美的. [cpp] view plaincopy //如果是横屏游戏: glview->setDesignResolutionSize(960, 640, ResolutionPolicy::FIXED_HEIGHT); //一张960x640的背景显示 auto visibleSize = Director::getInstance()->getVisibleSize(); auto Bg = Sprite::crea

DISCUZ X3.0登录代码

// 初始化UC if(!function_exists('uc_user_login')) { loaducenter(); } //加载uc_user_login()方法,位于uc_client/client.php之中,执行登录第一步 $result = uc_user_login('admin', '[email protected]', 0, 1); 下一步将结果集序列化 list($tmp['uid'], $tmp['username'], $tmp['password'], $tm

DISCUZ X3.0 积分增减以及记录

1.调用source/function/function_core.php 里面的 updatemembercount()方法,该方法只是一个简单的入口方法 /* * @$uids 用户 * @$dataarr 操作规则,如扣减第二个积分2分:array ('extcredits2' => -2); * @$checkgroup 是否检查用户组升级,通常未true * @$operation 操作类型,默认空,如果需要增加记录,需要填充 * @$relatedid 关系ID,例如帖子ID * @

最新版本cocos2d&#173;2.0&#173;x&#173;2.0.2使用新资源加载策略!不再沿用-hd、-

 前段时间cocos2dx更新了最新版本cocos2d-2.0-x-2.0.2,也从这个版本开始对于资源加载与管理都改变了策略. 在之前的加载方式都是通过沿用与cocos2d-iphone一样的加载资源方式,对于图片名后添加-hd,-ipad,-ipadhd方式,当用户开启项目的高清视网膜后就可以默认寻找对应的资源.但是从cocos2d-2.0-x-2.0.2版本开始,资源加载策略不在如此了.对跨平台整合不清楚的请看cocos2dx最新2.x版本跨平台整合NDK+Xcode 最新资源加载策略

Lua1.0 数据结构

先来看一下 Lua 中常用的几个数据结构: 先看一下 opcode.h 中的: Type 枚举是 Lua 中的几种数据类型. Value 联合体是 Lua 的数据类型定义. Object 带标签的数据类型,其中 tag 字段是 Type 类型,Value 是 Object 的值. Symbol 符号,一个是符号的名字,一个是符号的值,其值是一个 Object 类型. 以下的一些代码就是一些上面数据结构的操作宏. hash.h  中定义了关联数组,也就是 lua 里的 table 类型. // t

0.数据结构(python语言) 基本概念 算法的代价及度量!!!

先看思维导图: *思维导图有点简陋,本着循循渐进的思想,这小节的知识大多只做了解即可. *重点在于算法的代价及度量!!!查找资料务必弄清楚. 零.四个基本概念 问题:一个具体的需求 问题实例:针对问题(需求)的具体的例子 算法:解决问题的过程,是对一个计算过程的严格描述 程序:程序可以看作是采用计算装置能够处理的语言描述的算法 一.算法的5大性质 有穷性(算法描述的又穷性):算法必须用有限长的描述说清楚 能行性:算法的每一步都是可行的,也就是说,每一步都能通过执行有限次数完成 确定性:别人看了过