美文网首页
iOS objective-c 粒子效果,加载动画

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

作者: 大风天上来 | 来源:发表于2017-09-11 22:44 被阅读742次

    先来看看效果:

    加载动画效果图.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

    相关文章

      网友评论

          本文标题:iOS objective-c 粒子效果,加载动画

          本文链接:https://www.haomeiwen.com/subject/cnhgjxtx.html