如何在Swift中制作模拟火灾自上而下消耗UIView的燃烧效果的动画
我发现了烟花,这是一个应用程序,允许用户调整和试用不同的CAEmitterLayer设置,并取得即时效果。这种效果适用于整个屏幕,但我将如何使用它来达到我的目的--当火从一端消耗到另一端时,UIView必须消失?
有关于使用粒子发射器在任何地方用火消耗UIView的教程吗?我知道我应该展示一些代码,但是我在这里放的任何东西都是无关紧要的。我也用尽了我的搜索引擎寻找类似的东西。我就是这样找到烟花应用的。
这似乎是一个用例,应该是不寻常的。
发布于 2021-06-15 00:14:16
我对CAEmitterLayer做得不多,所以我决定试一试。
我创建了一个这样做的项目,并将其发布在Github上。它使用这段Youtube视频中的方法作为起点。你可以在这里下载:
下面是它看起来的一个小缩略图:

该项目包括一个名为UIView的自定义子类BurnItDownView。
BurnItDownView是用来包含其他视图的。
它有一个公共方法,burnItDown()。触发动画。
动画有多个部分:
[.clear, .white, .white]的颜色和[-0.5, 0, 1]的位置(其中清晰的颜色位于视图顶部),并动画渐变视图的locations属性,以从上到下隐藏视图内容。(将locations属性动画为[0, 0, 0],使整个渐变层充满清晰的颜色,完全遮掩视图的层。)[-0.5, 0, 1]的原始值。这将导致“隐式动画”,因此视图从底部返回,但速度很快。burnItDown()方法的可选完成处理程序。(应用程序的视图控制器使用闭包重新启用“烧掉它”按钮。发布于 2021-06-14 14:24:53
我曾经在你的鞋,并偶然看到一个开放源码库,称为粒子动画。
我不建议使用库本身,因为它是不受欢迎的。但是,我建议参考它的源代码来了解如何使用CAEmitterLayer and CAEmitterCell来制作Fire的外观!
正如你可以从它的自述中看到的,它有直接的火的例子。它还指出,甚至苹果和Facebook都使用CAEmitterLayer and CAEmitterCell来产生火灾的效果。
你可以问更多的问题。
https://stackoverflow.com/questions/67971598
复制相似问题