4张图片的背景相互叠加

Background of 4 images added for each other

请帮忙。

我有4张图片。 我想用动画显示背景。

每张图片都应该落在之前的动画 alpha 上。结果,我得到了 4 张图像相互添加的背景。

首先显示 1.png 将 alpha 淡化为 1。 直到最后一张还没出现,开始第二张图,以此类推

     var waitTime:NSTimeInterval    = 0
     var durTime:NSTimeInterval     = 4.4

     for var i = 0; i < 4; i++ {

            let frostImage = SKSpriteNode(imageNamed: "a\(i)")
            frostImage.position = CGPointMake(0, 0)
            frostImage.zPosition = -1
            frostImage.alpha = 0
            frostImage.anchorPoint = CGPointZero
            frostImage.size  = CGSizeMake(256, 384)
            self.addChild(frostImage)

            self.array.addObject(frostImage)

            let w = SKAction.waitForDuration(waitTime)
            let s = SKAction.fadeAlphaTo(0.6, duration: durTime)
            let a = SKAction.repeatAction(SKAction.sequence([w, s]), count: 1)


            durTime -= 0.4
            waitTime += 0.2

            self.arrayAnim.addObject(a)
        }


then 



            for node in self.array {
                node.runAction(self.arrayAnim[ind1] as SKAction, completion: nil)
                ind1++
            }

我为你写的,但在 objective-c 中,我认为你可以将其转换为 swift。

    SKSpriteNode *bg1 = [SKSpriteNode spriteNodeWithImageNamed:@"bg1"];
    bg1.zPosition = 1;
    SKSpriteNode *bg2 = [SKSpriteNode spriteNodeWithImageNamed:@"bg2"];
    bg2.zPosition = 2;
    SKSpriteNode *bg3 = [SKSpriteNode spriteNodeWithImageNamed:@"bg3"];
    bg3.zPosition = 3;
    SKSpriteNode *bg4 = [SKSpriteNode spriteNodeWithImageNamed:@"bg4"];
    bg4.zPosition = 4;

    SKAction *action = [SKAction fadeAlphaTo:1.0 duration:1];
    SKAction *wait = [SKAction waitForDuration:1];
    SKAction *resetAlpha = [SKAction fadeAlphaBy:0.0 duration:0];

    [self runAction:[SKAction repeatActionForever:[SKAction sequence:@[[SKAction runBlock:^{
        [bg1 runAction:resetAlpha];
        [bg2 runAction:resetAlpha];
        [bg3 runAction:resetAlpha];
        [bg4 runAction:resetAlpha];
    }], [SKAction runBlock:^{
        [bg1 runAction:action];
    }], wait, [SKAction runBlock:^{
        [bg2 runAction:action];
    }], wait, [SKAction runBlock:^{
        [bg3 runAction:action];
    }], wait, [SKAction runBlock:^{
        [bg4 runAction:action];
    }], wait]]]];