起因
昨天在群里看到一个安卓的好友分享了一个比较有意思的动画,有点类似直播平台上的“冒泡”效果的粒子动画,感觉挺不错的,赶巧前段时间在看一个开源App的时候也看到一个类似的,因此正好拿出来练练手。
基础
iOS相对于安卓平台,动画一直是其强项,因此要实现类似的效果,代码也是相对容易。因此只要学会一个CAEmitterLayer就可以了,是不是很简单?
概况
CAEmitterLayer是官方基于Core Animation实现的粒子发生器系统。其中的每个粒子又都是一个CAEmitterCell的实例。在该系统中,粒子绘制在背景色与border之上。其本身继承自CALayer,用法自然也和CALayer基本一次。
CAEmitterCell在粒子系统中作为粒子的实体,本身继承自NSObject,通过它和CAEmitterLayer的组合,就很容易实现一些炫酷的功能。
常见属性简介
本来这部分想自己写的,但是突然在网上看到了一篇相似的博客,发现作者实现写得太详细了,我实在没有必要再闭门造车,大家如果有兴趣就自己去看看:传送门
动画实现
基础不用讲了,那就直接上代码吧。
写到这里都不知道该写些什么,因为这个Demo本身也没有什么难度,对于iOS开发者来说仅仅是一个控件的学习,所以就不废话了,直接贴上代码:
整个CAEmitterLayer使用大概这样的流程,入门还是很简单,如果想做出更好的效果,大家就自己去动手尝试吧。