iOS 简单易懂的粒子效果

开篇

项目用到了一个粒子效果,本来是用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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我和未来有约会

ios开发基础知识 - 2

移动物体 CABasicAnimation *theAnimation; theAnimation=[CABasicAnimation animatio...

1869
来自专栏GIS讲堂

Arcgis for Js实现graphiclayer的空间查询

本节讲的是Arcgis for Js的针对graphiclayer的空间查询,内容很简单,代码如下:

2922
来自专栏Vamei实验室

“不给力啊,老湿!”:RSA加密与破解

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

5301
来自专栏PPV课数据科学社区

趣文 | 程序员们,都进来看看编程语言之父都有谁

1、PHP PHP之父,Rasmus Lerdorf,1994年,为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。这些工具程序用来显示 Rasmu...

3597
来自专栏GIS讲堂

Ol4中晕圈点效果的实现

结合Openlayers4中的overlay,以图片作为晕圈背景,实现晕圈的点效果。

1073
来自专栏菩提树下的杨过

Flash/Flex学习笔记(39):弹性运动

动画中的弹性运动 从视觉效果上接近 物理经典力学中的单摆运动或弹簧(胡克定律F=Kx)振动 先看下面的模拟演示: 规律: 小球先从出发点(初始为最左侧)向目标点...

2055
来自专栏hightopo

HT for Web基于HTML5的图像操作(三)

1255
来自专栏HT

HT for Web基于HTML5的图像操作(三)

上篇采用了HTML5的Canvas的globalCompositeOperation属性达到了染色效果,其实CSS也提供了一些常规图像变化的设置参数,关于CSS...

2189
来自专栏java一日一条

java提高篇之java的四舍五入

四舍五入是我们小学的数学问题,这个问题对于我们程序猿来说就类似于1到10的加减乘除那么简单了。在讲解之间我们先看如下一个经典的案例:

1482
来自专栏高性能服务器开发

携程面试题

冬天,西风凛冽,天空阴沉,行人都急匆匆的奔走,到了家,烤着炉子,外边洋洋洒洒的下起了雪。知道什么是“晚来天欲雪”,什么是“红泥小火炉”。

4133

扫码关注云+社区

领取腾讯云代金券