let emitter = CAEmitterLayer()
emitter.frame = view.frame
view.layer.addSublayer(emitter)
emitter.emitterPosition = CGPoint(x: 100, y: 100)
emitter.renderMode = kCAEmitterLayerOldestFirst
let sun = CAEmitterCell()
sun.contents = UIImage(named: "sun-icon")?.cgImage
sun.color = UIColor(red: 1 , green: 0.5, blue: 1, alpha: 1).cgColor
sun.birthRate = 500
sun.lifetime = 0.5;
sun.velocity = 50;
sun.velocityRange = 10;
sun.emissionRange = CGFloat(Double.pi) ;
emitter.emitterCells = [sun];
CAEmitterLayer属性:
- emitterCells:CAEmitterCell对象的数组,用于把粒子投放到layer上。
- birthRate:粒子产生速度,默认1个每秒。
- lifetime:粒子纯在时间,默认1秒。
- emitterPosition:发射器在xy平面的中心位置。
- emitterZPosition:发射器在z平面的位置。
- preservesDepth:是否开启三维效果。
- velocity:粒子运动速度。
- scale:粒子的缩放比例。
- spin:自旋转速度。
- seed:用于初始化随机数产生的种子。
- emitterSize:发射器的尺寸。
- emitterDepth:发射器的深度。
- emitterShape:发射器的形状
- kCAEmitterLayerPoint;//点的形状,粒子从一个点发出
- kCAEmitterLayerLine;//线的形状,粒子从一条线发出
- kCAEmitterLayerRectangle;//矩形形状,粒子从一个矩形中发出
- kCAEmitterLayerCuboid;//立方体形状,会影响Z平面的效果
- kCAEmitterLayerCircle;//圆形,粒子会在圆形范围发射
- kCAEmitterLayerSphere;//球型
- emitterMode:发射器发射模式
- kCAEmitterLayerPoints;//从发射器中发出
- kCAEmitterLayerOutline;//从发射器边缘发出
- kCAEmitterLayerSurface;//从发射器表面发出
- kCAEmitterLayerVolume;//从发射器中点发出
- renderMode:发射器渲染模式
- kCAEmitterLayerUnordered;//粒子无序出现
- kCAEmitterLayerOldestFirst;//声明久的粒子会被渲染在最上层
- kCAEmitterLayerOldestLast;//年轻的粒子会被渲染在最上层
- kCAEmitterLayerBackToFront;//粒子的渲染按照Z轴的前后顺序进行
- kCAEmitterLayerAdditive;//粒子混合
CAEmitterCell属性:
- emitterCell:初始化方法。
- name:粒子的名字。
- color:粒子的颜色。
- enabled:粒子是否渲染。
- contents:渲染粒子,是个CGImageRef的对象,即粒子要展示的图片。
- contentsRect:渲染范围。
-
birthRate:粒子产生速度。
- lifetime:生命周期。
- lifetimeRange:生命周期增减范围。
- velocity:粒子运动速度。
- velocityRange:速度范围。
- spin:粒子旋转角度。
- spinrange:粒子旋转角度范围。
- scale:缩放比例。
- scaleRange:缩放比例范围。
- scaleSpeed:缩放比例速度。
- alphaRange::一个粒子的颜色alpha能改变的范围。
- alphaSpeed::粒子透明度在生命周期内的改变速度。
- redRange:一个粒子的颜色red能改变的范围。
- redSpeed:粒子red在生命周期内的改变速度。
- blueRange:一个粒子的颜色blue能改变的范围。
- blueSpeed:粒子blue在生命周期内的改变速度。
- greenRange:一个粒子的颜色green能改变的范围。
- greenSpeed:粒子green在生命周期内的改变速度。
- xAcceleration:粒子x方向的加速度分量。
- yAcceleration:粒子y方向的加速度分量。
- zAcceleration:粒子z方向的加速度分量。
- emissionRange:粒子发射角度范围。
- emissionLongitude:粒子在xy平面的发射角度。
- emissionLatitude:发射的z轴方向的发射角度。
请发表评论