粒子发射器 CAEmitterLayer and CAEmitterCell
2018-01-26 15:14
543 查看
一、属性及含义
1、CAEmitterLayer: 粒子发射器
birthRate: 每秒发射粒子的数量
emitterShape: 按什么样式发射
/** `emitterShape' values. **/
//发射源是一个点
@available(iOS 5.0, *)
public let kCAEmitterLayerPoint: String
//发射源是一条线
@available(iOS 5.0, *)
public let kCAEmitterLayerLine: String
//发射源是方形的四角
@available(iOS 5.0, *)
public let kCAEmitterLayerRectangle: String
//发射源是立方体的,需要设置z坐标zPosition
@available(iOS 5.0, *)
public let kCAEmitterLayerCuboid: String
//发射源是圆形的
@available(iOS 5.0, *)
public let kCAEmitterLayerCircle: String
//发射源是球体的,需要设置z坐标
@available(iOS 5.0, *)
public let kCAEmitterLayerSphere: String
emitterMode: 发射的样式
/** `emitterMode' values. **/
// 以点的样式发射
CA_EXTERN NSString * const kCAEmitterLayerPoints
CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);
//以轮廓(线)的样式发射
CA_EXTERN NSString * const kCAEmitterLayerOutline
CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);
//以面的样式发射
CA_EXTERN NSString * const kCAEmitterLayerSurface
CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);
/以团的样式发射
CA_EXTERN NSString * const kCAEmitterLayerVolume
CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);
renderMode: 渲染的模式
/** `renderMode' values. **/
//无序的
@available(iOS 5.0, *)
public let kCAEmitterLayerUnordered: String
//最后一个粒子放在第一个
@available(iOS 5.0, *)
public let kCAEmitterLayerOldestFirst: String
//最后一个粒子放在最后一个
@available(iOS 5.0, *)
public let kCAEmitterLayerOldestLast: String
//后面的粒子放在前面
@available(iOS 5.0, *)
public let kCAEmitterLayerBackToFront: String
//叠加效果
@available(iOS 5.0, *)
public let kCAEmitterLayerAdditive: String
2、emitterCells
表示的是发射的粒子,不是一个图层
contents: 粒子的内容
lifetime: 存活时间
lifetimeRange: 存活时间的范围,每一个layer 都有自己的随机数发生器,粒子的属性大部分都被定义为一个平均值和一个范围值,如粒子的速度,这个属性的值分布的区间:[M - R /2, M + R/2]
然后,这个公式里面
M:均值(emitterCell.lifetime)
R:范围值
birthRate: 每秒粒子的产生
emissionLatitude: 散发的维度他表示的是一个弧度(上下)
emissionLongitude: 散发的经度(左右)
velocityRange: 发送速度的范围
xAcceleration,yAcceleration,zAcceleration,x,y,轴的速度惯性动力
emissionRange: 散发的范围
name: 粒子的名字可以通过名字找到粒子
//可参考:https://www.cnblogs.com/densefog/p/5424155.html
1、CAEmitterLayer: 粒子发射器
birthRate: 每秒发射粒子的数量
emitterShape: 按什么样式发射
/** `emitterShape' values. **/
//发射源是一个点
@available(iOS 5.0, *)
public let kCAEmitterLayerPoint: String
//发射源是一条线
@available(iOS 5.0, *)
public let kCAEmitterLayerLine: String
//发射源是方形的四角
@available(iOS 5.0, *)
public let kCAEmitterLayerRectangle: String
//发射源是立方体的,需要设置z坐标zPosition
@available(iOS 5.0, *)
public let kCAEmitterLayerCuboid: String
//发射源是圆形的
@available(iOS 5.0, *)
public let kCAEmitterLayerCircle: String
//发射源是球体的,需要设置z坐标
@available(iOS 5.0, *)
public let kCAEmitterLayerSphere: String
emitterMode: 发射的样式
/** `emitterMode' values. **/
// 以点的样式发射
CA_EXTERN NSString * const kCAEmitterLayerPoints
CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);
//以轮廓(线)的样式发射
CA_EXTERN NSString * const kCAEmitterLayerOutline
CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);
//以面的样式发射
CA_EXTERN NSString * const kCAEmitterLayerSurface
CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);
/以团的样式发射
CA_EXTERN NSString * const kCAEmitterLayerVolume
CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);
renderMode: 渲染的模式
/** `renderMode' values. **/
//无序的
@available(iOS 5.0, *)
public let kCAEmitterLayerUnordered: String
//最后一个粒子放在第一个
@available(iOS 5.0, *)
public let kCAEmitterLayerOldestFirst: String
//最后一个粒子放在最后一个
@available(iOS 5.0, *)
public let kCAEmitterLayerOldestLast: String
//后面的粒子放在前面
@available(iOS 5.0, *)
public let kCAEmitterLayerBackToFront: String
//叠加效果
@available(iOS 5.0, *)
public let kCAEmitterLayerAdditive: String
2、emitterCells
表示的是发射的粒子,不是一个图层
contents: 粒子的内容
lifetime: 存活时间
lifetimeRange: 存活时间的范围,每一个layer 都有自己的随机数发生器,粒子的属性大部分都被定义为一个平均值和一个范围值,如粒子的速度,这个属性的值分布的区间:[M - R /2, M + R/2]
然后,这个公式里面
M:均值(emitterCell.lifetime)
R:范围值
birthRate: 每秒粒子的产生
emissionLatitude: 散发的维度他表示的是一个弧度(上下)
emissionLongitude: 散发的经度(左右)
velocityRange: 发送速度的范围
xAcceleration,yAcceleration,zAcceleration,x,y,轴的速度惯性动力
emissionRange: 散发的范围
name: 粒子的名字可以通过名字找到粒子
//可参考:https://www.cnblogs.com/densefog/p/5424155.html
相关文章推荐
- iOS-利用粒子发射器(CAEmitterLayer) 制作发射动画
- ios粒子效果CAEmitteCell CAEmitterLayer
- iOS 粒子效果 CAEmitterCell CAEmitterLayer
- CAEmitterLayer CAEmitterCell 一个基于Core Animation的粒子发射系统
- iOS CAEmitterLayer 粒子发射器的使用详解
- swift 实现漂亮的粒子效果CAEmitterLayer
- Cocoa层粒子发射器动画添加多个cell的一种重构
- CAEmitterLayer CAEmitterCell
- CAEmitterLayer CAEmitterCell
- iOS CAEmitterLayer简介,基于CAEmitterLayer实现粒子效果 —— HERO博客
- 能产生粒子效果的CAEmitterLayer
- iOS 烟花撒花效果,图层渐变,图层倒影特效。CAEmitterLayer粒子发射器
- iOS 烟花撒花效果,图层渐变,图层倒影特效。CAEmitterLayer粒子发射器
- 关于粒子发射(CAEmitterLayer)
- 用CAEmitterLayer实现粒子动画飘雪花效果
- iOS CAEmitterLayer 实现粒子发射动画效果
- iOS开发进阶 - CAEmitterLayer,粒子发射系统
- iOS CAEmitterLayer 实现粒子效果
- iOS CAEmitterLayer 和 CAEmitterCell 粒子发射
- iOS CAEmitterLayer实现粒子发射动画效果