【发布时间】:2014-04-23 04:15:22
【问题描述】:
我有一个 CCLayer,它有多个孩子(Sprites、CCMenuItemImages 等)。而这些孩子正在生孩子(主要是 CCLabel*** 或 CCMenuItemImages)。所以我想淡出图层的所有孙子和孩子,然后一旦全部淡出,我想删除 CCLayer。
我能够对层次结构应用淡入淡出操作。但是如果我这样做 [CCLayer removeFromParentWithCleanup:YES],那么它会立即删除,而仍然有一些孩子正在使用淡入淡出动作运行。
所以我的问题是,一旦所有的子项和子项都褪色(不透明度 = 0),我如何删除父层。
编辑:这是一个代码 sn-p
for(CCNode *node in itemLayer.children)
{
for(CCSprite *sprite in parentLayer.children)
{
for(id item in sprite.children)
[item runAction:[CCFadeTo actionWithDuration:2.5f opacity:0]];
[sprite runAction:[CCFadeTo actionWithDuration:2.5f opacity:0]];
}
}
itemLayer 是具有 CCNode *节点的父 CCLayer。节点有孩子,每个孩子都有他们的孩子。所以我想在子节点和大子节点上完成所有操作后删除节点及其父 itemLayer。如何做到这一点?
【问题讨论】:
-
我正在使用 COCOS2d 2.1 for IOS
-
当淡入层时,使用一个序列:fade, callBlockN,在调用块中你将有 [self removeFromParentWithCleanup:YES]; .自我是层。
-
我用代码 sn-p 编辑了我的问题。在这种情况下你能帮忙吗?
标签: cocos2d-iphone