【发布时间】:2015-12-03 10:59:34
【问题描述】:
我的问题目前很难解决。
我应该和我的同事一起开发一个 Android 应用程序,但在 iOS 上做同样的事情。
在开发结束时,我们应该交付两个执行相同操作且外观相似的应用程序(请放心,与强制在 Android 上使用的 iOS 指南线完全不同,反之亦然),以便获得相同的体验和身临其境。
要提供的最重要的功能之一是一个漂亮的白色空圆圈动画,它在圆圈内发出雪状粒子。圆圈可以通过滚动或简单的弹跳/滑动动画来移动。
所以想象一个带有白色边框和白色颗粒从白色薄膜上脱落的圆圈。所有这些粒子都被吸引到中心,并且它们的速度基础正在变化(但没有加速!)。最快的粒子应该在到达中心之前“死亡”。当然可以通过生命周期和速度设置轻松设置。
我的搭档,和我一样大三,正在使用iOS' CAEmitterLayer,她在一两天内获得的效果非常好,非常接近我们应该达到的效果。
在我这边,我真的很挣扎。和她一样,我在任何动画和 UI/UX 方面都没有任何经验。 在寻找 Android 上的粒子生成器/发射器时,我偶然发现了这个漂亮的库:https://github.com/plattysoft/Leonids,它似乎可以提供我正在寻找的东西。
但是我在使用这个库时有一些未解决的问题:
- 我不能或不知道是否可以将发射器放置在一个圆圈内;
- 我相信,如果发射器所在的圆圈正在移动(滚动/动画),那么粒子很可能不会随圆圈移动;
正如我所说,我的 iOS 同事解决了这些问题。即使是移动部分:我们正在与我们的经理交谈,告诉使用“如果圆圈移动怎么办?”她立即在我们面前尝试了它。我被震撼了……
她告诉我我应该寻找一种方法将我的粒子包含在一个容器内(有道理 ^^),并且我的圆形视图应该用图层剪辑,这样粒子就不会离开圈子,尤其是当整个事情都在移动时。
多亏了前面提到的 Android 库,我才实现了这一点:
- 我可以发射粒子,定义它们的形状、比例/大小、速度以及发射角度;
- 我可以将粒子发射器连接到视图。它将使用视图 X&Y 坐标 来发射粒子,但像 here 这样的 基于 XML 的可绘制圆形 的问题在于它包含在 square-基于 视图(带有
height和width),出于奇怪的原因,我的圆圈画在上述基于平方的视图之上。
我希望我能找到另一个库,但如果当前的库正在运行,为什么不呢?试试我的运气吧^^
感谢您的帮助!
【问题讨论】:
-
你能找出一些接近 iOS 的 CAEmitter 的东西吗?
-
请问您有什么发现吗?我也有同样的问题
标签: android ios animation particle-system caemitterlayer