了解 CAEmitterLayer

CAEmitterLayer

CAEmitterLayer是一个发射、设置动画和渲染粒子系统的图层。

emitterCells
API
@property(copy) NSArray<CAEmitterCell*> *emitterCells;
官方示例

演示了如何设置一个简单的粒子发射器。它使用一个图片当单元内容时,通过将发射器单元的发射范围设置为2 * PI,粒子将向所有方向发射。

let emitterLayer = CAEmitterLayer()

emitterLayer.emitterPosition = CGPoint(x: 320, y: 320)

let cell = CAEmitterCell()
cell.birthRate = 100
cell.lifetime = 10
cell.velocity = 100
cell.scale = 0.1

cell.emissionRange = CGFloat.pi * 2.0
cell.contents = UIImage(named: "RadialGradient.png")!.cgImage

emitterLayer.emitterCells = [cell]

view.layer.addSublayer(emitterLayer)
emitterSize

发射源的尺寸大小,由CAEmitterCell实例定义的粒子绘制在图层的尺寸内。

API
@property CGSize emitterSize;
emitterShape

发射源的形状,默认是点的形状,kCAEmitterLayerPoint.

API
@property(copy) CAEmitterLayerEmitterShape emitterShape;
常量值
  • kCAEmitterLayerCircle
  • kCAEmitterLayerCuboid
  • kCAEmitterLayerLine
  • kCAEmitterLayerPoint
  • kCAEmitterLayerRectangle
  • kCAEmitterLayerSphere
emitterMode

发射过程的模式,默认是 kCAEmitterLayerVolume

API
@property(copy) CAEmitterLayerEmitterMode emitterMode;
枚举值
  • kCAEmitterLayerOutline
  • kCAEmitterLayerPoints
  • kCAEmitterLayerSurface
  • kCAEmitterLayerVolume
emitterPosition

发射形状的中心点,默认是(0.0,0.0).

@property CGPoint emitterPosition;

CAEmitterCell

CAEmitterCell 类继承与NSObject,是一个抽象类,似于UITableViewCell,每一种粒子效果都是一种单独的CAEmitterCell

  • name

    粒子名称

  • birthRate

    粒子产生率

  • lifetime

    粒子生命周期

  • velocity

    粒子速度

  • velocityRange

    粒子速度平均量

  • yAcceleration

    y方向的加速度分量,默认为0

  • emissionLongitude

    指定纬度,纬角度代表了在x-z轴平面坐标系中与x轴之间的夹角,默认0

  • emissionRange

    发射角度范围,默认为0,以锥形分布开的发射角度。角度用弧度制。粒子均匀分布在这个锥形范围内。

  • scale

    缩放比例,默认是1

  • scaleRange

    缩放范围,默认是0

  • scaleSpeed

    在生命周期内的缩放速度,默认是0

  • contents

    粒子的内容,参照CALayer的寄宿图

  • color

    粒子的颜色

  • redRange

    粒子颜色red能改变的范围,默认是0

  • greenRange

    粒子颜色blue能改变的范围,默认是0

  • alphaRange

    粒子颜色alpha能改变的范围,默认是0

  • blueSpeed

    粒子颜色blue在生命周期内的改变速度,默认是0

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容