美文网首页
了解 CAEmitterLayer

了解 CAEmitterLayer

作者: _涼城 | 来源:发表于2020-08-08 08:49 被阅读0次

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

相关文章

网友评论

      本文标题:了解 CAEmitterLayer

      本文链接:https://www.haomeiwen.com/subject/hzbcdktx.html