前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS 简单易懂的粒子效果

iOS 简单易懂的粒子效果

作者头像
GuangdongQi
发布2018-05-24 17:48:45
1.5K0
发布2018-05-24 17:48:45
举报
文章被收录于专栏:Guangdong QiGuangdong Qi
开篇

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

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

代码语言:javascript
复制
    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 可以理解为大炮的子弹 ,下面是设置�子弹的一些属性

代码语言:javascript
复制
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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.04.11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开篇
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档