CAEmitterLayer和CAEmitterCell

1.红包雨

//红包雨
- (void)getAnimation
{
    //创建一个CAEmitterLayer
    CAEmitterLayer *snowEmitter = [CAEmitterLayer layer];
    //降落区域的方位
    snowEmitter.frame = self.view.bounds;
    //添加到父视图Layer上
    [self.view.layer addSublayer:snowEmitter];
    //指定发射源的位置
    snowEmitter.emitterPosition = CGPointMake(self.view.bounds.size.width / 2.0, -10);
    //指定发射源的大小
    snowEmitter.emitterSize  = CGSizeMake(self.view.bounds.size.width, 0.0);
    //指定发射源的形状和模式
    snowEmitter.emitterShape = kCAEmitterLayerLine;
    snowEmitter.emitterMode  = kCAEmitterLayerOutline;
    //创建CAEmitterCell
    
    CAEmitterCell *snowflake = [CAEmitterCell emitterCell];
    //每秒多少个
    snowflake.birthRate = 3.0;
    //存活时间
    snowflake.lifetime = 50.0;
    //初速度,因为动画属于落体效果,所以我们只需要设置它在y方向上的加速度就行了。
    snowflake.velocity = 10;
    //初速度范围
    snowflake.velocityRange = 5;
    //y轴方向的加速度
    snowflake.yAcceleration = 30;
    //以锥形分布开的发射角度。角度用弧度制。粒子均匀分布在这个锥形范围内。
    snowflake.emissionRange = 5;
    //设置降落的图片
    snowflake.contents  = (id) [[UIImage imageNamed:@"love"] CGImage];
    //图片缩放比例
    snowflake.scale = 0.5;
    //开始动画
    snowEmitter.emitterCells = [NSArray arrayWithObject:snowflake];
}

你可能感兴趣的:(CAEmitterLayer和CAEmitterCell)