CAEmitterLayer粒子发射器可以做出很酷的效果,也有很多属性需要我们了解一下。我们就常用的属性讲解一下。
CAEmitterLayer的属性
-
emitterCells发射粒子的数组
-
birthRate产生粒子系数,默认是1,发射粒子的个数:总个数 = cell.birthRate * layer.birthRate。
-
lifetime粒子的生命周期,默认是1,计算同上
-
emitterPosition粒子发射的中位置,默认{0,0};
-
emitterZPosition粒子的发射Z轴位置 默认0
-
emitterSize发射器的大小,和emitterShape有关,在emitterShape为.point时候忽略大小
-
emitterShape发射形器的形状。是个枚举类型。point:表示发射源从一个点发射,位置为emitterPosition。line:表示发射源是一条线,位置为emitterPosition,宽度为emitterSize.width。rectangle:表示发射源是一个矩形,以emitterPosition为中心,大小为emitterSize的矩形。cuboid:表示一个立体矩形。circle:表示一个园,以emitterPosition为中心,大小为emitterSize的圆形。sphere:表示一个立体圆形。
-
emitterMode发射模式。在决定发射器的形状中发射的模式。枚举类型。points:点模式。发射器是以点的形式发射粒子,如果形状是cuboid会在4个定点发射,如果是circle会在园中心发射。outline:轮廓模式。发射器以emitterShape的形状的轮廓发射。surface:表面模式。发射器以emitterShape的形状的表面发射。volume:对立体型进行发射。
-
renderMode渲染模式。
-
velocity粒子发射的速度,默认是1
-
scale粒子缩放的比例,默认是1
-
spin自转的速度,默认1
-
seed随机数
CAEmitterCell的属性
-
isEnabled粒子是否能被渲染。
-
birthRate每秒发射的粒子数量,计算公式:总个数 = cell.birthRate * layer.birthRate。
-
lifetime粒子的生命周期,默认为0。计算方式 L = cell.lifetime * layer.lifetime ± cell.lifetimeRange。
-
lifetimeRange生命周期范围。默认为0。
-
emissionLatitude在x-z轴为平面中发射与x轴的角度,默认为0
-
emissionLongitude在x-y轴为平面与x轴的角度,默认为0 顺时针为正
-
emissionRange角度发射范围。以锥形分布开的发射角度。角度用弧度制。粒子会均匀的分布在这个角度范围内发射。计算方式: 发射角度 = emissionLongitude ± (emissionRange/2);
-
contents是一个CGImage对象。如果要个渲染图片,给粒子变换颜色,最好使用白色图片。
-
name粒子的名字。