Cocos2d-X 3.x数据结构与2.x数据结构大致比较

Cocos2d-X 3.x数据结构与2.x数据结构大致比较

在3.x里做2d横板过关游戏时,需要用到这些东西,网上大多数都是些2.x版本的教程,

一些东西已经可能大不相同了.

PointArray -> CCPointArray

翻开源码他是一个std::Vector<Vec2*>的类,他是为了记录一些点向量的集合

PointArray::create(ssize_t capacity); //表示长度

CC_SAFE_RETAIN 用到的时候让计数器安全-1

TMXTiledMap->CCTMXTiledMap

3.x 和 2.x的不同

3.x 拥有一个ValueMap的地图数组 和Vector<TMXObjectGroup*>地图元素集合

2.x 拥有一个 CCDictionary的地图数组和一个CCArray的地图元素集合

TMXObjectGroup->CCTMXObjectGroup

3.x:TMXObjectGroup::getObjects返回ValueVector

2.x:TMXObjectGroup::getObjects返回CCArray

Value VS CCArray & CCDictionary

Value各种类是vector+map再一次封装:

ValueVector->其实就是一个 CCArray里包含着CCDictionary里面是键值对

ValueMap->CCDictionary里面包含一个字符串和一个对象

ValueIntKey->整形和对象的map

Value是一个联合体:

int float double bool string char ValueVector ValueMap Value ValueIntKey

并且Value重载了好多运算符,使用很方便

各种坑爹的宏让他们去死吧

2.x:     CCARRAY_FOREACH(CCArray* arr,CCObject* ref);

3.x:     for(auto ref : CCArray* arr )

2.x:     CCDICT_FOREACH(CCDictionary * dic,CCDicElement* ele )

3.x:     for(auto ele : ValueVector)

这样做唯一的不足是auto自动推导类型可能不会有具体方法,

如果有需要像键值对的就很恶心,比如需要获取键和值

pElement.first.c_str()这样获取元素第一个参数的键

pElement.second….获取元素第二个参数值

虽然3.x的方法可能让人有时抓狂,不过习惯了反而觉着3.x确实比2.x安全高效

时间: 2024-08-24 22:10:47

Cocos2d-X 3.x数据结构与2.x数据结构大致比较的相关文章

【数据结构】什么是数据结构?

绪论 第一个很有意义,又没什么意义的问题:什么是数据结构?? 其实,数据结构在计算机科学界至今没有标准的定义.个人根据各自的理解的不同而有不同的表述方法: Sartaj Sahni在他的<数据结构.算法与应用>一书中称: "数据结构是数据对象,以及存在于该对象的实例合组成实例的数据元素之间的各种联系.这些联系可以通过定义相关的函数来给出." 他将数据对象(data object)定义为"一个数据对象是实例或值的集合".  Clifford A.Shaff

《大话数据结构》 第一讲.数据结构绪论 (读书笔记)

大话数据结构 导读笔记 第一讲: 一.基本概念和术语 (1)数据元素:是组成数据的.有一定意义的基本单位,在计算机中通常作为整体处理.也被称为记录.   比如,在人类中,什么是数据元素呀?当然是人了. (2)数据项:一个数据元素可以由若干个数据项组成.   比如人这样的数据元素,可以有眼.耳.鼻.嘴.手.脚这些数据项,也可以有姓名.年龄.性别.出生地址.联系电话等数据项,具体有哪些数据项,要视你做的系统来决定. 数据项是数据不可分割的最小单位.在数据结构这门课程中,我们把数据项定义为最小单位,是

小猪的数据结构辅助教程——1.数据结构与算法绪论

小猪的数据结构辅助教程--1.数据结构与算法绪论 标签(空格分隔): 数据结构 本节学习路线图与学习要点 学习要点: 1.了解数据结构的相关概念 2.了解算法的相关概念 3.熟悉时间复杂度的计算 4.了解空间复杂度的概念,闰年表空间换时间的样例~ 1.什么是数据结构? 2.算法的叙述 3.时间复杂度计算的简单演示样例 数据结构预算法--时间复杂度分析实例

数据结构(一)数据结构基础

数据结构的基础概念 数据是表征客观事物的可记录可识别的符号集合. 数据: 描述客观事物的数值.字符以及一切能输入到计算机且能被处理的符号集合. 数据元素: 数据元素是组成数据的基本单位,是数据集合的个体. 数据对象: 数据对象是性质相同的数据元素的集合,是数据集的一个子集. 数据结构: 数据结构,是相互之间存在一种或多种特定关系的数据元素集合.强调是带有结构的数据元素的集合,数据元素之间的相互关系,即数据的组织形式,即数据的组织形式. 数据类型: 一组性质相同的值集合以及定义其上的一组操作的集合

《大话数据结构》---第一章 数据结构绪论

数据结构是一门研究非数值计算的程序设计问题中的操作对象,以前他们之间的关系和操作等相关问题的学科. 程序设计 = 数据结构 + 算法 数据:描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合.数据元素:组成数据的.有一定意义的基本单位,在计算机中通常作为整体处理.也被称为记录.数据项:一个数据元素可以由若干个数据项组成,数据项是数据不可分割的最小单位.数据对象:是性质相同的数据元素的集合,是数据的子集.(性质相同即具有相同数量和类型的数据项)数据结构:是

[0x01 用Python讲解数据结构与算法] 关于数据结构和算法还有编程

忍耐和坚持虽是痛苦的事情,但却能渐渐地为你带来好处. ——奥维德 一.学习目标 · 回顾在计算机科学.编程和问题解决过程中的基本知识: · 理解“抽象”在问题解决过程中的重要作用: · 理解并实现抽象数据结构: · 复习Python编程语言 二.写在前面 自第一台电子计算机使用线路和开关传达人类的指令以来,我们编程的思考方式有了很大的改变,在很多方面,计算机技术的发展为计算机科学家提供了众多的工具和平台去实现他们的想法.高性能理器,高速网络和大内存使得计算机研究者必须掌握在这样复杂的螺旋式通道中

数据结构 编程实战 汇总———数据结构与算法分析第二版(C)

优先队列实现事件模拟 :http://maozj.iteye.com/blog/676567 d堆 左式堆 斜堆: http://blog.csdn.net/yangtrees/article/details/8252760 二项队列:http://www.cnblogs.com/xing901022/archive/2012/09/23/2699130.html (C++) http://blog.csdn.net/changyuanchn/article/details/14648463 (

数据结构基本概念

什么是数据结构 "数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系.这些联系可以通过定义相关的函数来给出"--Sartaj Sahni,<数据结构.算法与应用> "数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现."--Clifford A.Shaffer,<数据结构与算法分析> "数据结构(data structture)是计算机中存储.组织数据的方式.通常情况下,经i想你

数据结构介绍

为什么学习数据结构: 同样的问题,有的人写出来的程序效率高,有的人却用很复杂的方法解决. 学习数据结构能用最有效的方法解决绝大多数的问题. <数据结构>这门课程的目的有三个.第一个是讲授常用的数据结构,这些数据结构形成了程序员基本数据结构工具箱(toolkit).对于许多常见的问题,工具箱里的数据结构是理想的选择.就像.NET Framework 中 Windows 应用程序开发中的工具箱,程序员可以直接拿来或经过少许的修改就可以使用,非常方便.第二个是讲授常用的算法,这和数据结构一样,是人们