登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

绚丽的粒子系统 点赞动画

[复制链接]
来自: 李世铿 分类: iOS精品源码 上传时间: 2016-5-17 12:38:21
Tag:contents 透明度 color 图片 动画

项目介绍:

文:631106979/WclEmitterButton (github)

CAEmitterLayer是ios5中苹果引入了一个新的CALayer子类。CAEmitterLayer是一个高性能的粒子引擎,可以用来做一些绚丽的粒子系统,比如爆炸,雪花火焰等等。


CAEmitterCell
CAEmitterCell: CAEmitterCell是粒子发射系统里的粒子,用CAEmitterCell来定义你所需要的粒子的样式,图片,颜色,方向,运动,缩放比例和生命周期等等。
  • 属性列表

属性名作用
alphaRange一个粒子的颜色alpha能改变的范围
alphaSpeed粒子透明度在生命周期内的改变速度
birthrate每秒发射的粒子数量
blueRange一个粒子的颜色blue 能改变的范围
blueSpeed粒子blue在生命周期内的改变速度
color粒子的颜色
contents是个CGImageRef的对象,既粒子要展现的图片
contentsRect应该画在contents里的子rectangle
emissionLatitude发射的z轴方向的角度
emissionLongitudex-y平面的发射方向
emissionRange周围发射角度
emitterCells粒子发射的粒子的数组
enabled粒子是否被渲染
greenrange一个粒子的颜色green 能改变的范围
greenSpeed粒子green在生命周期内的改变速度
lifetime生命周期
lifetimeRange生命周期范围 lifetime= lifetime(+/-) lifetimeRange
magnificationFilter增加自己的大小
minificatonFilter减小自己的大小
minificationFilterBias减小大小的因子
name粒子的名字
redRange一个粒子的颜色red 能改变的范围
redSpeed粒子red在生命周期内的改变速度
scale缩放比例
scaleRange缩放比例范围
scaleSpeed缩放比例速度
spin子旋转角度
spinrange子旋转角度范围
velocity速度
velocityRange速度范围
xAcceleration粒子x方向的加速度分量
yAcceleration粒子y方向的加速度分量
zAcceleration粒子z方向的加速度分量

  • 代码示例

[Objective-C] 查看源文件 复制代码
let explosionCell           = CAEmitterCell()
explosionCell.name          = "explosion"
explosionCell.alphaRange    = 0.10
explosionCell.alphaSpeed    = -1.0
explosionCell.lifetime      = 0.7
explosionCell.lifetimeRange = 0.3
explosionCell.birthRate     = 0
explosionCell.velocity      = 40.00
explosionCell.velocityRange = 10.00
explosionCell.scale         = 0.03
explosionCell.scaleRange    = 0.02
explosionCell.contents      = UIImage(named: "Sparkle")?.CGImage







CAEmitterLayer
CAEmitterLayer :CAEmitterLayer类提供了一个粒子发射器系统为核心的动画。这些粒子是由CAEmitterCell组成的实例,它相当于一个管理者,来管理 CAEmitterCell的发射的一些细节,比如发射的位置,发射形状等等。
  • 属性列表

[td]
属性名做用
emitterPosition发射位置
emitterSize发射源的大小
emitterMode发射模式
emitterShape发射源的形状
renderMode渲染模式
birthRate粒子产生系数,默认1.0
emitterCells装着CAEmitterCell对象的数组,被用于把粒子投放到layer上
emitterDepth决定粒子形状的深度联系
emitterZposition发射源的z坐标位置
lifetime粒子生命周期
scale粒子的缩放比例
seed用于初始化随机数产生的种子
spin自旋转速度
velocity粒子速度

  • 代码示例
[Objective-C] 查看源文件 复制代码
explosionLayer = CAEmitterLayer()
explosionLayer.name          = "emitterLayer"
explosionLayer.emitterShape  = kCAEmitterLayerCircle;
explosionLayer.emitterMode   = kCAEmitterLayerOutline;
explosionLayer.emitterSize   = CGSizeMake(10, 0);
explosionLayer.emitterCells  = [explosionCell]
explosionLayer.renderMode    = kCAEmitterLayerOldestFirst;
explosionLayer.masksToBounds = false
explosionLayer.position      = CGPointMake(self.frame.size.width/2.0, self.frame.size.height/2.0);
explosionLayer.zPosition     = -1;
layer.addSublayer(explosionLayer)








DEMO下载
DEMO中包含OC和Swift两种版本。

相关源码推荐:

我来说两句
*滑动验证:
所有评论(289)
末日孤舰 2016-5-17 12:49:58
感谢分享,Code4App有你更精彩
回复
赵涂涂 2016-5-17 14:06:15
正需要啊,感谢楼主无私分享!
回复
王颖博 2016-5-17 14:07:50
感谢分享,Code4App有你更精彩
回复
王颖博 2016-5-17 14:08:16
感谢分享,Code4App有你更精彩
回复
love1314syt 2016-5-17 15:10:45
正需要啊,感谢楼主无私分享!
回复
wsj2012 2016-5-17 15:58:28
学习学习!
回复
dkf1921 2016-5-17 16:01:54
很给力,Code4App有你更精彩!
回复
mxd19860826 2016-5-17 16:07:39
正需要啊,感谢楼主无私分享!
回复
gaojiajie 2016-5-17 16:08:01
楼主威武啊,Code4App有你更给力!
回复
提取码:  下载次数:269 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
3228 2 269
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表