iOS 简单易懂的粒子效果

广告

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

iOS 简单易懂的粒子效果_第1张图片
我是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出现在屏幕上时候,发射炮弹

最后传个效果吧

iOS 简单易懂的粒子效果_第2张图片
33333.gif

广告

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

iOS 简单易懂的粒子效果_第3张图片
我是jpg

你可能感兴趣的:(iOS 简单易懂的粒子效果)