2014-04-01 16 views
2

当我松开手指时,我尝试添加一个Emmiter节点,当我触摸屏幕并将其删除(淡出)。但我希望第一个节点留在屏幕上。我究竟做错了什么?SKAction随着时间的推移而淡出

NSMutableArray *childs = [NSMutableArray arrayWithArray:self.children]; 
[childs removeObjectAtIndex:0]; 

for (SKEmitterNode *node in childs) { 
    [node runAction:[SKAction sequence:@[ [SKAction fadeOutWithDuration:1], [SKAction waitForDuration:3], /*[SKAction removeFromParent]*/ ]]]; 
} 

他只运行第一个动作而已。另一件工作。但淡出的作品,当我尝试它与我的第一个节点:

[self.children[0] runAction:[SKAction fadeOutWithDuration:1]]; 
+1

尝试在一个简单的测试项目中,SKEmitterNode节点是否可以在任何不改变的 – LearnCocos2D

回答

0

你需要明确检查阵列中的每个节点是否是SKEmitterNode类的一个实例。

for (SKEmitterNode *node in childs) { 

    if ([node isKindOfClass:[SKEmitterNode class]]) 
    { 
     [node runAction:[SKAction sequence:@[ [SKAction fadeOutWithDuration:1], [SKAction waitForDuration:3], [SKAction removeFromParent] ]]]; 
    } 

} 
+0

处褪色。但他从父母那里移除了。但不会淡出。为什么?? – Sam

相关问题