cocos2dx2.x批量移除CCNode的方法
来源:互联网 发布:大数据时代读后感5000 编辑:程序博客网 时间:2024/05/17 13:08
项目需求如下:
生成若干Sprite来播放动画,播放完之后将Sprite移除
原打算将所有Sprite都设为相同的Tag,然后在播放完之后removeChildByTag了事
但未能如愿,原因是在2.x的引擎代码中,CCNode的removeChildByTag的相关实现如下:
void CCNode::removeChildByTag(int tag, bool cleanup){ CCAssert( tag != kCCNodeTagInvalid, "Invalid tag"); CCNode *child = this->getChildByTag(tag); if (child == NULL) { CCLOG("cocos2d: removeChildByTag(tag = %d): child not found!", tag); } else { this->removeChild(child, cleanup); }}
是先getChildByTag,然后将get到的Node移除,不是批量获取的,所以不能实现移除全部相同TAG的需求,另外,
网上查了一下,据说getChildByTag方法在相同tag的很多node面前,会得到不可预知的结果。
所以,该需求最终采用了枚举TAG的方法,最后将枚举TAG的Sprite遍历移除。
0 0
- cocos2dx2.x批量移除CCNode的方法
- Cocos2d-x CCNode的节点操作——添加、移除和渲染
- Cocos2D-x权威指南: CCNode类方法:
- cocos2dx2.0以上创建新项目的方法
- cocos2dx2.x添加模板
- cocos2dx2.x版本的pthread的一些注意事项
- CCNode的属性以及方法的介绍
- 再谈Cocos2dx2.x.x编译
- Cocos2d中CCNode类方法的解释
- cocos2d-x CCNode类
- Cocos2d-x基础:CCNode
- 4.cocos2d-x CCNode
- 【Cocos2d-x】CCNode
- easyui 批量 移除行,
- cocos2dx2.x杂记之CCSpriteBatchNode
- cocos2d-x游戏开发(九)重要的基类CCNode
- Cocos2d-x节点CCNode类的主要函数
- cocos2d-x中CCNode的init和onEnter
- netty服务端开发-绑定监听
- 如何在CentOS 6.5下安装 Emacs 24.3
- 每日一题20:与C++11的第一次邂逅——可变参模板与C#委托模拟
- FlatUI风格的qml控件
- test
- cocos2dx2.x批量移除CCNode的方法
- 如何更好地给同事讲代码?
- zoj 1745 Are We There Yet?
- Ubuntu安装Oracle InstantClient
- Tracking Learning Detecting-TLD 学习笔记1
- SSH三大框架搭建的步骤
- Word Ladder II Java
- Hibernate映射的关系问题
- Android Hal层简要分析