Set SKSpriteNode to White White with SKAction colorizeWithColor

Okay, so I have a sprite that suppose it will be white when something hits, I use this

SKAction *changeColorAction = 
[SKAction colorizeWithColor:[SKColor whiteColor] colorBlendFactor:1.0 duration:1];

What happens when a sprite flashes, but instead of white, it just becomes transparent. If I use any other color, for example redColor, blueColor, ect .. It works fine.

How can I make him turn to white?

Thanks for the help !!!: D

+4
source share
3 answers

. " ". "". , , .

+1

:

func blink() {

    inviolable = true
    lifeCount--

    if lifeCount <= 0 {

        lifeCount = 0
    }

    var changeColorAction: SKAction = SKAction.runBlock { () -> Void in

        self.alpha = 0.5
    }

    var changeBackAction: SKAction = SKAction.runBlock { () -> Void in

        self.alpha = 1.0
    }

    var waitAction: SKAction = SKAction.waitForDuration(0.2)

    var finalAction: SKAction = SKAction.runBlock { () -> Void in

        self.inviolable = false
    }

    var combined: SKAction = SKAction.sequence(
        [   changeColorAction,
            waitAction,
            changeBackAction,
            waitAction,
            changeColorAction,
            waitAction,
            changeBackAction,
            waitAction,
            changeColorAction,
            waitAction,
            changeBackAction,
            changeColorAction,
            waitAction,
            changeBackAction,
            changeColorAction,
            waitAction,
            changeBackAction,
            finalAction])

    runAction(combined)
}
0

Thank you so much for coming up with an alpha trick. Perfect for what I was looking for.

you can use

run(SKAction.repeat(SKAction.sequence(changeColorAction,
            waitAction,
            changeBackAction,
            waitAction), count: 4) 
0
source

Source: https://habr.com/ru/post/1528872/


All Articles