波浪动画

作者: 雷晏 | 来源:发表于2016-07-05 00:32 被阅读902次

前言:

在多次地方我看到一个非常好看的线条动画-波浪。给人很舒服的赶脚,并且也很实用在项目中,比如:下载文件进度,清理缓存,量表等等。。为此,我也写了一片文章来去讲述该波浪动画如何去实现的,并在此基础上拓展。

先上个y=Asin(ωx+φ)+h各参数变化的效果图:

通过上面的效果可以看出,影响波浪的高度只有一个参数h,影响波浪的速度只有一个参数φ,影响波浪的波长有两个参数ωA

具体代码github

分析:

    看着波浪动画,形状能想到就是正弦或余弦函数。

要如何去实现这样一个正弦曲线呢。用贝塞尔画曲线?这是不可能的,所以,能想到的就是通过x坐标来一一算出对应的y,然后连起来,就是个正弦曲线。

我们知道了要用到正弦函数的知识,那么再思考下,到底是怎么才能达到波浪形态呢?。。下面我给个图,大家可以通过这个图来脑补下。

要形成波浪,应该就是ω系数随着计时器不断累加


在这里我就不再讲解了,来点实用的。

效果图:

波浪如何去实现,我就不多讲了,主要说的是如何填充这个圆,在这里我采取的是CoreGraphics知识去实现的,不太清楚CoreGraphics框架知识的可以先去了解下

之后,我采取CADisplayLink来实现定时器,用NSTimer可能会使得动画不够流畅。(我比较懒得去自己设置时间罢了,CADisplayLink每秒刷60帧完全够了)。

具体代码github

总结:对于早已经把数学忘的差不多的我,来计算正切函数的一系列的东西,开始确实蛋疼,还好功夫不负有心人,终于搞明白了。。遇到不熟悉的不要紧,但你必须要有一颗坚持,上进的心。

相关文章

  • 波浪动画

    前言: 在多次地方我看到一个非常好看的线条动画-波浪。给人很舒服的赶脚,并且也很实用在项目中,比如:下载文件进度,...

  • 路径动画(波浪)

  • 波浪动画效果

    项目中有时会用到波浪效果,效果如下: 具体代码如下:1.首先要创建个时间控制器,波浪一直处于动态,所以必须要有个定...

  • ios - 波浪动画

    来源:http://summertreee.github.io/blog/2016/08/07/dong-hua-...

  • 第三方资源收集

    水波浪圆形进度控件,采用 CAShapeLayer,CADisplayLink 波浪动画,简单,流畅https:/...

  • 常用第三方库

    UI动画 波浪控件 Tabbar items显示萌萌的动画 qq侧滑 橡皮筋弹跳式动画 菜单动画 帧动画 手势驱动...

  • 网格波浪箭头动画

    网上有很多波浪的画法,但是往往波浪要与具体需求图形结合,今天我就给大家带来了一个我们股票类App需要显示涨幅和跌幅...

  • 简单的波浪动画

    还原x游行程助手的首页侧边栏按钮波浪抖动效果 新建一个工程 在storyboard中拉5个button,分别设置t...

  • 【iOS】波浪动画实现

    最近项目中用到了一个波浪动画,于是我又重新复习了一遍正弦函数,并简单地封装了一个自定义视图。下面为大家介绍封装自定...

  • SMWallet动画波浪球

    来源:http://www.itssh.cn/post/947.html SMWallet SMWallet动画波...

网友评论

  • 阿琥123:楼主好像写错了 让波浪动起来的是φ 速度应该是ω
    阿琥123:不对 速度也是φ
  • 横穿撒哈拉的骆驼:感觉用这种方法, 线很毛糙的感觉
  • LaiYoung_:长知识了雷总
    LaiYoung_:@雷晏 我说真心的。睡觉吧孩子
    雷晏:@LaiYoung 。。。。赖总折煞我了
  • 268aac88307f:可以添加背景之类的吗
    雷晏:@古剑吧的武罗崩鸣停止自转 可以。不影响
  • 鐵甲陳小寶:用shapelayer会不会好点
    雷晏:@鐵甲陳小寶 目的在于明白如何去写,会了,就可以在此基础上去优化性能了。:blush::blush:
    鐵甲陳小寶:@雷晏 恩恩 这种内存是个问题
    雷晏:@鐵甲陳小寶 我也用过cashapeplayer来绘制。同样也可以达到预期的效果,只是想用下另一种实现效果:smile::smile:

本文标题:波浪动画

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