2014-04-01 15 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

相關問題