CAEmitterLayer 粒子发射器】的更多相关文章

iOS 烟花撒花效果,图层渐变,图层倒影特效.CAEmitterLayer粒子发射器 上一节我写了一个关于视图图层的相关类,有关CALayer这个类的使用和一些使用方法,详细看这里,就是我们在处理视图的时候要对他的图层来进行改动,须要注意的几个地方,还有锚点的介绍,然后这篇主要说一个利用CALayer里面的一个类来实现一个烟花的特效. 这个就是利用了CAEmitterLayer粒子发射器图层来制作的一个效果.这个动态截图工具也是以下的朋友推荐的,效果非常好非常不错mac版地址,就是通过一个发射点…
https://www.jianshu.com/p/c54ffd7412e7 想必以前QQ空间的点赞效果大家都知道吧,点赞之后按钮周围会有一圈爆裂的小圆点:还有微信的红包雨表情动画等,以及烟花,火焰效果.这些看似很炫酷的动画可能让我们敬而远之,但是其实iOS封装的很好,利用简单的几行代码就能完成很炫酷的动画效果.由于目前正在玩儿iOS动画的内容,利用iOS的CAEmitterLayer结合CAEmitterCell能够达这些效果.不BB了,先上几个效果图.代码已传githubEmitterAni…
在iOS 5中,苹果引入了一个新的CALayer子类叫做CAEmitterLayer.CAEmitterLayer是一个高性能的粒子引擎,被用来创建实时例子动画如:烟雾,火,雨等等这些效果. CAEmitterLayer看上去像是许多CAEmitterCell的容器,这些CAEmitierCell定义了一个例子效果.你将会为不同的例子效果定义一个或多个CAEmitterCell作为模版,同时CAEmitterLayer负责基于这些模版实例化一个粒子流.一个CAEmitterCell类似于一个CA…
1.CAEmitterCell粒子发射器的相关属性: /* CoreAnimation - CAEmitterLayer.h Copyright (c) 2007-2017, Apple Inc. All rights reserved. */ //iOS5中引入的新的子类,粒子引擎!可以实现粒子特效! ForeverGuard博客园 #import <QuartzCore/CALayer.h> @class CAEmitterCell; NS_ASSUME_NONNULL_BEGIN CA_…
如果选中该选择框,表示粒子发射器将删除所有已存在的粒子当它们的可见状态被代码改变的时候. 如果该选择框没有选中,则发射器将保持产生粒子但不渲染它们(意思是有但你看不到)当它们的可视状态为NO的时候. 你可以创建一个粒子发射器,不选该选择框.然后保持粒子发射器运行几秒以产生一些初始粒子. 你可以然后使用fade动作或播放一个Timeline动画去改变发射器节点的透明度,从0变为1,将其淡入至视图中. 这是一个一般的做法当不应该看到粒子发射器建立粒子的过程,而一开始就显示"发展完全"的粒子…
//创建Layer CAEmitterLayer *emitterLayer = [CAEmitterLayer layer]; //边框 emitterLayer.borderWidth = 1.0f; //尺寸 emitterLayer.frame = CGRectMake(100, 100, 100, 100); emitterLayer.masksToBounds = YES; //发射点 emitterLayer.emitterPosition = CGPointMake(0, 0);…
emitterCells:CAEmitterCell对象的数组,被用于把粒子投放到layer上 birthRate:可以通俗的理解为发射源的个数,默认1.0.当前每秒产生的真实粒子数为=CAEmitterLayer的birthRate*子粒子的birthRate: lifetime:The cell lifetime range is multiplied by this value when particles are created. Defaults to one. emitterPosi…
CAEmitterLayer 实现雪花效果   首先需要导入#import <QuartzCore/QuartzCore.h>   /**在iOS 5中,苹果引入了一个新的CALayer子类叫做CAEmitterLayer.CAEmitterLayer是一个高性能的粒子引擎,被用来创建实时例子动画如:烟雾,火,雨等等这些效果.CAEmitterLayer看上去像是许多CAEmitterCell的容器,这些CAEmitierCell定义了一个例子效果.你将会为不同的例子效果定义一个或多个CAEm…
每个例子发射器只能使用单个纹理发射粒子. 如果你需要在相同粒子效果中组合多重纹理,你将不得不创建多重的发射器节点并且决定谁的粒子将在其它粒子之上或之下显示.…
在iOS动画之旅第19章中最后的挑战中需要我们在雪花例子发生器中添加多个雪花贴图,也就是多个cell,因为我们不可能将每个cell的参数都重新写一遍,所以有必要写一个helper方法来做这件事: func getCellByImgName(name:String)->CAEmitterCell{ } 将原来viewDidLoad方法中与cell相关的代码拷贝进来,但除了几处小的修改: let emitterCell = CAEmitterCell() emitterCell.contents =…