美文网首页iOS
iOS 简单易懂的粒子效果

iOS 简单易懂的粒子效果

作者: 1ace156a39cd | 来源:发表于2017-04-11 10:41 被阅读233次

    广告

    欢迎大家一起交流 QQ群 139852091 公众号

    我是jpg

    开篇

    项目用到了一个粒子效果,本来是用GIF的,但是GIF倒出的时候,一些细节的圆角失真,变成了方形,没办法,只能代码写,下面是粒子的一些基本属性,看网上把粒子发射器比作大炮,觉得比喻的非常合理,每行都有注释,一大炮结构为详解,应该很清楚

    CAEmitterLayer可理解为大炮 ,下面是设置大炮的一些属性

        self.fireEmitter = [CAEmitterLayer layer];  //创建一个大炮
        self.fireEmitter.emitterPosition = CGPointMake(35, 70);//设置大炮的发射位置
        self.fireEmitter.emitterSize = CGSizeMake(50, 0);//发射源大小,也就是炮口大小
        self.fireEmitter.emitterShape = kCAEmitterLayerLine;//发射的形状,可以理解为区域性爆炸,还是远程爆炸
        self.fireEmitter.emitterMode  = kCAEmitterLayerOutline;//发射模式
    

    CAEmitterCell 可以理解为大炮的子弹 ,下面是设置�子弹的一些属性

    CAEmitterCell *ringCell1 = [CAEmitterCell emitterCell];
        //设置炮弹的名字
        [ringCell1 setName:@"ringCell1"];
        //每秒多少个
        ringCell1.birthRate = 0.8;
        //存活时间
        ringCell1.lifetime = 6.0;
        //初速度范围
        ringCell1.velocityRange = 2;
        //y方向的加速度(正数为向下,负数为向上)
        ringCell1.yAcceleration = -20;
        //周围发射角度
        ringCell1.emissionRange = 0;
        //设置放大或者缩小
        ringCell1.scale = 0.2;
        //炮弹的颜色
        ringCell1.color = [UIColorFromRGBA(0x009efc,0.5) CGColor];
        //炮弹的主要原料
        ringCell1.contents = (id) [[UIImage imageNamed:@"DazRing"] CGImage];
        //填装炮弹
        self.fireEmitter.emitterCells = @[ringCell1,ringCell2,ringCell3];
        //扣动扳机准备发射
        [view.layer addSublayer:self.fireEmitter];
        //当view出现在屏幕上时候,发射炮弹
    

    最后传个效果吧

    33333.gif

    广告

    欢迎大家一起交流 QQ群 139852091 公众号

    我是jpg

    相关文章

      网友评论

      本文标题:iOS 简单易懂的粒子效果

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