ios - SpriteKit : how to make SKEmitterNode particles twinkle?

标签 ios animation sprite-kit skspritenode skemitternode

SpriteKit 中的 SKEmitterNode 可让您更改粒子属性,但您如何为粒子设置动画,使它们像该视频的 0:12 标记一样闪烁?

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

这可能吗?

我们尝试快速将颜色从黄色变为白色( Sprite 原本是白色的),但这并没有达到预期的闪烁效果:

        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)

最佳答案

根据Apple的文档,可以给粒子添加 Action :

This means you can perform other interesting tricks, such as animating the particle’s textures.

在您提供的视频示例中,大多数粒子从完全“闪烁”开始,然后随着时间的推移变得越来越小,直到只剩下一个点并迅速消失。所以从一个闪烁的 Sprite 开始(有点像带有褪色提示的加号),缩小它并用一个普通的点交叉淡入淡出,这个点在缩小时也会淡出。应该和视频里的效果很接近。

关于ios - SpriteKit : how to make SKEmitterNode particles twinkle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44611156/

相关文章:

swift - 让 Sprite 缓慢移动到触摸位置

iphone - 即使应用程序在 iphone 中关闭,也要做一些事情

ios - popoverPresentationController sourceView inside didSelectRowAtIndexPath on iPad in Swift

ios - MKAnnotation 未在 iOS5 中被选中

javascript - animate.css 动画之间的延迟

python - 我将动态系统的相空间数据集存储在文件中,并希望在 python 中显示其二维动画

ios - AdMob Ios 导致帧率下降

ios - leadingSwipeActions 与自定义手势冲突

ios - ios中的多个if-else条件

ios - SKLabelNode 未显示在屏幕上