cocos2dx 3.0 ----- __Array
来源:互联网 发布:linux系统分区 编辑:程序博客网 时间:2024/06/01 18:22
1、声明
class CC_DLL __Array : public Object, public Clonable
2、__Array内部实现有两个版本,一个由std::vector管理数据,一个由ccArray管理数据。并用宏CC_USE_ARRAY_VECTOR来选择开启哪个版本。
若开启CC_USE_ARRAY_VECTOR版本,cocos会为我们提供一个自动管理指针的类RCPtr。此类可像shared_ptr那样,以对象的形式管理指针,防止内存泄露!
3、__Array的操作
①宏
CCARRAY_FOREACH(arr, obj)
CCARRAY_FOREACH_REVERSE(arr, obj)
CCARRAY_VERIFY_TYPE(arr, type) (用于debug版,release版无效)
arrayMakeObjectsPerformSelector(arr, func, type)
arrayMakeObjectsPerformSelectorWithObject(arr, func, obj, type)
②成员函数
create()
create(Object* object, ...)
createWithObject(Object* object)
createWithCapacity(ssize_t capacity);
createWithArray(__Array* otherArray);
createWithContentsOfFile(const std::string& pFileName);
createWithContentsOfFileThreadSafe(const std::string& pFileName);
init();
initWithObject(Object* object);
initWithObjects(Object* object, ...)
initWithCapacity(ssize_t capacity);
initWithArray(__Array* otherArray);
count()
capacity()
getIndexOfObject(Object* object)
getObjectAtIndex(ssize_t index)
getLastObject()
containsObject(Object* object)
isEqualToArray(__Array* otherArray)
addObject(Object* object);
addObjectsFromArray(__Array* otherArray);
insertObject(Object* object, ssize_t index);
setObject(Object* object, ssize_t index);
fastSetObject(Object* object, ssize_t index)
swap( ssize_t indexOne, ssize_t indexTwo )
removeLastObject(bool releaseObj = true);
removeObject(Object* object, bool releaseObj = true);
removeObjectAtIndex(ssize_t index, bool releaseObj = true);
removeObjectsInArray(__Array* otherArray);
removeAllObjects();
fastRemoveObject(Object* object);
fastRemoveObjectAtIndex(ssize_t index);
exchangeObject(Object* object1, Object* object2);
exchangeObjectAtIndex(ssize_t index1, ssize_t index2);
replaceObjectAtIndex(ssize_t index, Object* object, bool releaseObject = true);
reverseObjects();
reduceMemoryFootprint();
acceptVisitor(DataVisitor &visitor);
clone() const;
Object** begin()
Object** end()
- cocos2dx 3.0 ----- __Array
- (cocos2dx)使用__Array容器检测碰撞时间
- __Array和__Dictionary使用
- Cocos2d-x中__Array容器以及实例介绍
- cocos2d-x之__Array:: createWithContentsOfFile引发的“血案”
- Cocos2d-x中__Array容器以及实例介绍
- cocos2dx-3.0 : EventDispatcher
- cocos2dx-3.0 : EventListener
- COCOS2DX 3.0 Andriod配置
- cocos2dx 3.0 安装
- cocos2dx 3.0 touch 事件
- cocos2dx 3.0 flappybird -----001
- cocos2dx 3.0 flappybird -----002
- cocos2dx 3.0 flappybird -----003
- cocos2dx 3.0 学习资源
- cocos2dx 3.0 flappybird -----004
- cocos2dx 3.0 flappybird -----005
- cocos2dx 3.0 ---base
- eclipse 导入maven 项目后Updating Maven Project 报错解决方法
- 在eclipse中如何安装插件?
- 多态、动态类型和动态绑定
- MyEclipse集成SVN史上最简便方法
- 两列里不同数据的行筛选出来
- cocos2dx 3.0 ----- __Array
- Visual C++ 编译器参数传递和命名约定——关于__cdecl和__stdcall
- 消息队列
- UCOSII中的任务切换原理介绍
- 在red hat linux下安装oracle的相关问题
- 网络知识收集
- poj 1695 DP
- 浅谈Android应用性能之内存
- (8)ExtJS之form表单