SpriteKit:如何让SKEmitterNode粒子闪烁?

时间:2017-06-18 02:18:59

标签: ios animation sprite-kit skspritenode skemitternode

SpriteKit中的SKEmitterNode允许您更改粒子属性,但是如何为粒子设置动画,使它们在此视频的0:12标记处闪烁?

https://www.youtube.com/watch?v=wYy2G0lVTAM

这可能吗?

我们尝试将颜色从黄色快速交替变为白色(精灵最初为白色),但这并没有达到理想的闪烁效果:

        let colorizeYellow = SKAction.colorize(with: UIColor.yellow, colorBlendFactor: 1.0, duration: 0.2)
        let colorizeReset = SKAction.colorize(withColorBlendFactor: 0.0, duration: 0.2)
        let colorizeSequence = SKAction.sequence([colorizeYellow, colorizeReset])
        let colorizeRepeat = SKAction.repeatForever(colorizeSequence)

1 个答案:

答案 0 :(得分:2)

根据Apple的文档,您可以向粒子添加操作:

  

这意味着您可以执行其他有趣的技巧,例如   动画粒子的纹理。

在您提供的视频示例中,大多数粒子从完全开始"闪烁"并且随着时间的推移逐渐变小,直到只留下一个点,它会迅速消失。所以从一个闪烁的精灵开始(有点像带有褪色尖端的加号),缩小它并用一个普通点交叉淡化它,当它向下缩小时也逐渐消失。这应该非常接近视频中的效果。