Android上是否有任何类型的粒子发射器,如iOS CAEmitterLayer用于圆形发射器?

时间:2015-12-03 10:59:34

标签: android ios animation particle-system caemitterlayer

截至目前,我的问题很难解决。

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

在开发结束时,我们应该提供两个做同样事情并且看起来很相似的应用程序(可以放心,没有像iOS指南那样强加在Android上,反之亦然)所以体验是一样的和身临其境。

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

所以想象一个带有白色边框的圆圈和白色颗粒离开那个白色的膜。所有这些粒子都被吸引到中心,它们的速度基础是变化的(但没有加速!)。最快的粒子被认为是" die"在到达中心之前。可以通过设置终身和速度轻松设置的东西。

我的伴侣,像我这样的大三学生,正在使用iOS' CAEmitterLayer,她在一两天内获得的结果非常华丽,非常接近我们应该达到的目标。

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

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

  1. 我不能或不知道我是否可以在一个圆圈内放置发射器;
  2. 我相信如果连接发射器的圆圈正在移动(滚动/动画),则很有可能粒子不会随着圆圈移动;
  3. 正如我所说,我的iOS同事解决了这些问题。即使是动人的部分:我们正在与我们的经理谈话,他们告诉使用"如果圆圈移动怎么办?"她立刻在我们面前试了一下。我被吹走了......

    她告诉我,我应该寻找一种方法包含我的粒子在容器内(有意义^^),并且我的圆圈视图应该用图层修剪,以便粒子赢得&#39如果整个事情都在移动,尤其要离开圆圈。

    这要归功于前面提到的Android库:

    1. 我可以发射粒子,定义它们的形状,它们的比例/大小,速度和发射角度;
    2. 我可以将粒子发射器连接到视图。它将使用视图 X& Y坐标来发射粒子,但像here这样的基于XML的圆圈可绘制的问题在于它是包含在基于正方形的视图中(带有heightwidth),由于奇怪的原因,我的圆圈在上面的平方视图上方绘制。
    3. 我希望我能找到另一个图书馆,但如果当前的图书馆正在运作,为什么不呢?试试我的运气^^

      感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

列昂尼迪斯(Leonids)的图书馆作者提出了一个建议,可以帮助您达到预期的效果:

source

  

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

     

有趣的是,当前不支持此功能,但是您可以进行fork和调整库以   添加一个带有半径并在周围产生粒子的初始化程序   随便一个角度。

     

第二部分被中心吸引。那应该是   修饰符或初始化器,其中加速度取决于   角度。

     

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