Постепенное исчезновение SKSpriteNodes в Sprite Kit

У меня есть N разных узлов спрайта, которые я хочу постепенно исчезать один за другим в (медленной) последовательности. Чтобы исчезнуть узел, я делаю [node runAction: [SKAction fadeAlphaTo: 0,5 продолжительность: 1,0]]. Однако это прекрасно работает, но как лучше всего применить это действие к N различным узлам в последовательности?

Я знаю, что есть метод [SKAction sequence:], который может быть полезен, но я не уверен, как реализовать его с действиями на разных узлах.

Любая помощь приветствуется! :)


person oyvindhauge    schedule 03.06.2014    source источник


Ответы (1)


Вы правы, что 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 должен выполнить затухание и удалить его из своего родителя (и если вы сохраняете изменяемый массив спрайтов для затухания, удалите его оттуда).

person danh    schedule 03.06.2014