【问题标题】:SKAction fade out with durationSKAction 随着持续时间淡出
【发布时间】:2014-04-01 15:54:17
【问题描述】:

我尝试在触摸屏幕时添加一个 Emmiter 节点,并在我松开手指时将其移除(淡出)。但我希望第一个节点留在屏幕上。我做错了什么?

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]];

【问题讨论】:

  • 在一个简单的测试项目中尝试SKEmitterNode节点是否可以完全褪色

标签: sprite-kit skaction skemitternode


【解决方案1】:

您需要明确检查数组中的每个节点是否是 SKEmitterNode 类的实例。

for (SKEmitterNode *node in childs) {

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

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 2014-07-20
    • 2015-05-12
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    • 2017-12-14
    相关资源
    最近更新 更多