【问题标题】:Is there any kind of particle emitter on Android like iOS CAEmitterLayer for circle emitter?Android 上是否有任何类型的粒子发射器,例如用于圆形发射器的 iOS CAEmitterLayer?
【发布时间】:2015-12-03 10:59:34
【问题描述】:

我的问题目前很难解决。

我应该和我的同事一起开发一个 Android 应用程序,但在 iOS 上做同样的事情。

在开发结束时,我们应该交付两个执行相同操作且外观相似的应用程序(请放心,与强制在 Android 上使用的 iOS 指南线完全不同,反之亦然),以便获得相同的体验和身临其境。

要提供的最重要的功能之一是一个漂亮的白色空圆圈动画,它在圆圈内发出雪状粒子。圆圈可以通过滚动或简单的弹跳/滑动动画来移动。

所以想象一个带有白色边框和白色颗粒从白色薄膜上脱落的圆圈。所有这些粒子都被吸引到中心,并且它们的速度基础正在变化(但没有加速!)。最快的粒子应该在到达中心之前“死亡”。当然可以通过生命周期和速度设置轻松设置。

我的搭档,和我一样大三,正在使用iOS' CAEmitterLayer,她在一两天内获得的效果非常好,非常接近我们应该达到的效果。

在我这边,我真的很挣扎。和她一样,我在任何动画和 UI/UX 方面都没有任何经验。 在寻找 Android 上的粒子生成器/发射器时,我偶然发现了这个漂亮的库:https://github.com/plattysoft/Leonids,它似乎可以提供我正在寻找的东西。

但是我在使用这个库时有一些未解决的问题:

  1. 我不能或不知道是否可以将发射器放置在一个圆圈内;
  2. 我相信,如果发射器所在的圆圈正在移动(滚动/动画),那么粒子很可能不会随圆圈移动;

正如我所说,我的 iOS 同事解决了这些问题。即使是移动部分:我们正在与我们的经理交谈,告诉使用“如果圆圈移动怎么办?”她立即​​在我们面前尝试了它。我被震撼了……

她告诉我我应该寻找一种方法将我的粒子包含在一个容器内(有道理 ^^),并且我的圆形视图应该用图层剪辑,这样粒子就不会离开圈子,尤其是当整个事情都在移动时。

多亏了前面提到的 Android 库,我才实现了这一点:

  1. 我可以发射粒子,定义它们的形状、比例/大小、速度以及发射角度;
  2. 我可以将粒子发射器连接到视图。它将使用视图 X&Y 坐标 来发射粒子,但像 here 这样的 基于 XML 的可绘制圆形 的问题在于它包含在 square-基于 视图(带有heightwidth),出于奇怪的原因,我的圆圈画在上述基于平方的视图之上。

我希望我能找到另一个库,但如果当前的库正在运行,为什么不呢?试试我的运气吧^^

感谢您的帮助!

【问题讨论】:

  • 你能找出一些接近 iOS 的 CAEmitter 的东西吗?
  • 请问您有什么发现吗?我也有同样的问题

标签: android ios animation particle-system caemitterlayer


【解决方案1】:

Leonids 的库作者提出了一个建议,可能会帮助您达到预期的效果:

(source)

plattysoft 于 2016 年 9 月 19 日发表评论

有趣,目前不支持此功能,但您可以创建 fork 并将库调整为 添加一个初始化器,它采用半径并在周围产生粒子 随机角度。

第二部分被中心吸引。那应该是一个 修饰符或者可能是加速度取决于 角度。

棘手,不直接支持,但可行。

【讨论】:

  • 是的,谢谢,但这实际上是我在 github repo 上的问题,使用我以前的工作开发者帐户 ^^
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多