美文网首页
CAEmitterLayer和CAEmitterCell

CAEmitterLayer和CAEmitterCell

作者: 酱油之神 | 来源:发表于2016-12-23 15:28 被阅读18次

    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

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