@property (weak, nonatomic) IBOutlet UIView *containerView;
2、创建CAEmitterLayer
CAEmitterLayer *emitterLayer = [CAEmitterLayer layer];
emitterLayer.frame = self.containerView.bounds;
[self.containerView.layer addSublayer:emitterLayer];
//渲染模式
/**
* CA_EXTERN NSString * const kCAEmitterLayerUnordered
__OSX_AVAILABLE_STARTING (__MAC_10_6, __IPHONE_5_0);
CA_EXTERN NSString * const kCAEmitterLayerOldestFirst
__OSX_AVAILABLE_STARTING (__MAC_10_6, __IPHONE_5_0);
CA_EXTERN NSString * const kCAEmitterLayerOldestLast
__OSX_AVAILABLE_STARTING (__MAC_10_6, __IPHONE_5_0);
CA_EXTERN NSString * const kCAEmitterLayerBackToFront
__OSX_AVAILABLE_STARTING (__MAC_10_6, __IPHONE_5_0);
CA_EXTERN NSString * const kCAEmitterLayerAdditive
__OSX_AVAILABLE_STARTING (__MAC_10_6, __IPHONE_5_0);
*/
emitterLayer.renderMode = kCAEmitterLayerAdditive;
//发射源大小
// emitterLayer.emitterSize= CGSizeMake(<#CGFloat width#>, <#CGFloat height#>);
//发射位置
emitterLayer.emitterPosition = CGPointMake(emitterLayer.frame.size.width / 2.0, emitterLayer.frame.size.height / 2.0);
3、创建CAEmitterCell
CAEmitterCell *cell = [[CAEmitterCell alloc] init];
cell.contents = (__bridge id _Nullable)([UIImage imageNamed:@"star.jpg"].CGImage);//粒子要展现的图片
//应该画在contents里的子rectangle
// cell.contentsRect =
cell.birthRate = 150;//粒子产生系数 默认1.0,粒子参数的速度成绩印子,每秒发射的粒子数量
cell.lifetime = 5.0;//粒子的生命周期
cell.color = [UIColor colorWithRed:1 green:0.5 blue:0.1 alpha:1.0].CGColor;//粒子颜色为桔色
cell.alphaSpeed = -0.4;//透明度每过一秒减少0.4,粒子透明度在生命周期内的改变速度
cell.velocity = 50;
cell.velocityRange = 50;
cell.emissionRange = M_PI * 2.0;
//发射z轴方向的角度
// cell.emissionLatitude =
//粒子blue在生命周期内的改变速度
// cell.blueRange =
//一个粒子的颜色blue能改变的范围
// cell.blueRange =
//一个粒子的颜色alpha能改变的范围
// cell.alphaRange
//粒子的缩放比例
// cell.scale
//粒子是平展在层上
// emitterLayer.preservesDepth =
//用于初始化随机数产生的种子
// emitterLayer.seed
//自旋转速度
// emitterLayer.spin
emitterLayer.emitterCells = @[cell];//装着CAEmitterCell对象的数组,被用于把粒子投放到layer上
//决定粒子形状的深度联系:emitter shape
// emitterLayer.emitterDepth =
//发射源的z坐标位置
// emitterLayer.emitterZPosition=