我有 N 个不同的精灵节点,我想以(慢)序列一个一个地淡出。要淡出我正在做的节点 [node runAction:[SKAction fadeAlphaTo:0.5 duration:1.0]]。这非常有效,但是,如何最好地将此操作应用于序列中的 N 个不同节点?
我知道有一个 [SKAction sequence:] 方法可能有用,但我不确定如何通过不同节点上的操作来实现它。
任何帮助是极大的赞赏!:)
我有 N 个不同的精灵节点,我想以(慢)序列一个一个地淡出。要淡出我正在做的节点 [node runAction:[SKAction fadeAlphaTo:0.5 duration:1.0]]。这非常有效,但是,如何最好地将此操作应用于序列中的 N 个不同节点?
我知道有一个 [SKAction sequence:] 方法可能有用,但我不确定如何通过不同节点上的操作来实现它。
任何帮助是极大的赞赏!:)
你是对的,这SKAction sequence:
可以解决问题:
// assume you have the count of sprites to fade as spritesToFadeCount
SKAction *fadeSprites = [SKAction sequence: @[
[SKAction performSelector:@selector(fadeSprite) onTarget:self],
[SKAction waitForDuration:1.0 withRange:0.0]]];
[self runAction: [SKAction repeatAction:fadeSprites count:spritesToFadeCount]];
然后你的 fadeSprite 方法应该进行淡入淡出,并将它从它的父级中移除(如果你要保持一个可变的精灵数组来淡化,从那里移除它)。