CAEmitterLayer 粒子动画
2018-05-30 本文已影响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