CAEmitterLayer是一种高性能的粒子引擎,旨在创建诸如火,雨,烟,雪等的粒子动画。 CAEmitterLayer是用于定义粒子效果的CAEmitterCell实例集合的容器。 您可以创建一个或多个CAEmitterCell对象作为模板 对于不同的粒子类型。 CAEmitterLayer负责根据这些模板实例化粒子流。 发射极层和电池特性如何? CAEmitterLayer属性 CAEmitterLayer的属性控制粒子系统的位置和形状。 在birthRate上指定的属性诸如birthRate , lifetime和velocity重复值。 它们作为乘数工作。 您可以使用单个值来加快或增加整个粒子系统。 其他重要特性: renderMode :定义如何将粒子单元渲染到图层中。 preservesDepth :定义3D粒子系统是扁平化为单层(默认情况下)还是可以与其容器层的3D空间中的其他层融合。 您可以在此处检查CAEmitterLayer的许多其他可配置属性。 CAEmitterCell属性 CAEmitterCell的属性分为三类: 粒子特定属性的起始值 。 例如, color属性定义将与contents图像中的颜色组合的混合颜色。 特定属性的值在粒子之间变化的范围。 例如,如果将emissionRange属性设置为2π,则可以在360度半径内的任何方向上发射粒子。 如果指定较小的值,则可以为粒子创建圆锥形漏斗。 特定值随时间的变化 。 例如,如果将alphaSpeed设置为-0.1,则粒子的alpha值将每秒减少0.1。 当粒子从发射器离开时,它还会为粒子创建淡入淡出效果。 最重要的属性是: CGImage :分配一个CGImage用作图像。 color :设置要应用于每个粒子的颜色。 alphaSpeed :设置在单元的整个生命周期内,粒子淡出或淡入(以秒为单位)的速度。 birthRate :设置birthRate要创建多少个粒子。 lifetime :设置每个粒子应生存的时间(以秒为单位)。 velocity :设置每个粒子的基本移动速度。 velocityRange :设置可改变像元速度的量。 scale :设置应有多大的粒子(全尺寸为1.0)。 scaleRange :设置可改变单元格规模的数量。 spin :设置应用于单元的旋转速度。 spinRange :设置单元格旋转的数量。 […]