CAEmitterLayer 粒子动画

1、CAEmitterLayer 粒子发射器
2、CAEmitterCell 粒子

先说说粒子 CAEmitterCell

    a> CAEmitterCell 继承 NSObject    
          CAEmitterCell *cell = [[CAEmitterCell alloc] init];

    b> Cell的内容   
          cell.contents = (__bridge id _Nullable)([UIImage imageNamed:@"photo"].CGImage);

    c> 粒子的数量(最终数量 = CAEmitterLayer的birthRate 乘 CAEmitterCell的birthRate)  
          cell.birthRate = 1000;

    d> 控制粒子的速度和范围
              cell.lifetime = 5.0; //粒子的存活时间
              cell.alphaSpeed = -0.2 //粒子每秒减少的透明度
              cell.velocity = 40    // 粒子的速度

     e> 粒子的大小
          cell.scale = 0.1;   // 缩放比例
          cell.scaleRange = 0.02;    //缩放比例范围

    f> 粒子的颜色
         cell.redRange = 0.8;
         cell.blueRange = 0.6;
        cell.greenRange = 0.4;

  其他属性:
A5AF13AC-CB70-40AB-B3FA-091D1504B037.png

CAEmitterLayer 粒子发射器

    a> CAEmitterLayer 继承 CALayer    
            _emitterLayer = [CAEmitterLayer layer]

    b> 确定发射器的位置  
          _emitterLayer.emitterPosition = CGPointMake(SCREEN_WIDTH/2.0, 0)

    c> 确定发射器的尺寸 
          _emitterLayer.emitterSize = CGPointMake(SCREEN_WIDTH, 0)

    d> 粒子产生的系数,默认值为1
         _emitterLayer.birthRate = 1

     e> 发射器的形状(6种形状)
       _emitterLayer.emitterShape = kCAEmitterLayerLine;

    f> 发射的模式(4种)
        _emitterLayer.emitterMode = kCAEmitterLayerVolume;

    g> 渲染模式(5种)
       _emitterLayer.renderMode = kCAEmitterLayerAdditive;

    h> 添加粒子cell
        _emitterLayer.emitterCells = @[cell];

其他属性:


227D0-715E17FDA681.png

你可能感兴趣的:(CAEmitterLayer 粒子动画)