iOS objective-c 粒子效果,加载动画

先来看看效果:

加载动画效果图.gif

动画实现:

该动画由一组运动的粒子组成。

  • 粒子先沿螺线圈(半径逐渐变大的圆弧)运动,再沿圆圈运动。
  • 为了让放射的粒子成线性,需要把粒子的发射角度限制在较小的范围内,这样绘制的效果如图。
  • 可见这些是离散的点,为了让粒子首尾相连,需要给每一束粒子加一个自转动画,需要注意的是,自转速度要和粒子运动的线速度对应,即:粒子运动一圈,自转360度。
不带自转的动画.gif
阿基米德螺线圈路径方程:
r = a + bθ

其中 a 和 b 均为实数。改变参数 a相当于旋转螺线,而参数 b 则控制相邻两条曲线之间的距离。这是百度百科的描述。

参数确定:

我用Mac自带的Grapher观察了下参数a,b对线圈的形状的影响。

  1. 只有当a=0的时候,线圈才从中心点开始,所以没用a这个常数。
  2. 关于参数b,b= r/θ。如果螺线圈的最大半径(螺线圈半径是无线增大的,这里把最终的圆圈半径作为最大半径)设为100,旋转3圈后,达到最大半径,那么b = 100/(3.0*2π),这样就可以得出b 取值的大概范围;

上面就是这个动画需要说明的地方,话不多说,看代码就好了。如果大家有什么疑问,发现什么bug,或者需要做相关的修改,欢迎留言。

周五啦.gif

代码地址:https://github.com/hufengiOS/SearchParticleAnimateDemo-.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容