美文网首页
CAEmitterLayer 粒子动画

CAEmitterLayer 粒子动画

作者: 深夜爬坑 | 来源:发表于2018-05-30 15:33 被阅读0次

    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 粒子动画

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