CAEmitterLayer 粒子发射器
CAEmitterLayer是一个高性能的粒子引擎,被用来创建实时例子动画如:烟雾,火,雪花,雨,爆炸等等这些效果。
一、粒子发送器图层
粒子的常用属性
- emitterMode:发送的样式
- kCAEmitterLayerPoints:点
- kCAEmitterLayerOutline:线
- kCAEmitterLayerSurface:面
- kCAEmitterLayerVolume:团
- emitterShape:发送形状的样式
- kCAEmitterLayerPoint:点
- kCAEmitterLayerLine:线
- kCAEmitterLayerRectangle:矩形
- kCAEmitterLayerCuboid:立方体
- kCAEmitterLayerCircle:曲线
- kCAEmitterLayerSphere:圆形
- renderMode:粒子出现的样式
- kCAEmitterLayerOldestFirst:最后出生的粒子,在第一个
- kCAEmitterLayerOldestLast:最后出生的粒子,在最后面
- kCAEmitterLayerBackToFront:把后面的粒子放到上面
- kCAEmitterLayerAdditive:叠加
- emitterCells:在粒子发送器上面添加粒子
CAEmitterCell:粒子
contents:粒子的内容
lifetime:存活的时间
lifetimeRange:存活时间的范围
birthRate:每秒粒子生成的数量
emissionLatitude:散发的纬度(方向:上下)->弧度
emissionLongitude:散发的经度(方向:左右)->弧度
emissionRange:散发的范围 -> 弧度
velocity:发送的速度(速度越快,跑的越远)
velocityRange:发送速度的范围
xAcceleration:X轴的加速度
yAcceleration:Y轴的加速度
zAcceleration:Z轴的加速度
name:粒子的名字。可以通过名字,找到粒子
下雪
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| - (void)animation1 {
CAEmitterLayer *snowEmitter = [CAEmitterLayer layer]; snowEmitter.emitterPosition = CGPointMake(100, 30); snowEmitter.emitterSize = CGSizeMake(self.view.bounds.size.width, 0.0);; snowEmitter.emitterMode = kCAEmitterLayerOutline; snowEmitter.emitterShape = kCAEmitterLayerLine;
CAEmitterCell *snowflake = [CAEmitterCell emitterCell]; snowflake.name = @"snow"; snowflake.birthRate = 1.0; snowflake.lifetime = 120.0; snowflake.velocity = -10; snowflake.velocityRange = 10; snowflake.yAcceleration = 2; snowflake.emissionRange = 0.5 * M_PI; snowflake.spinRange = 0.25 * M_PI; snowflake.contents = (id) [[UIImage imageNamed:@"DazFlake"] CGImage]; snowflake.color = [[UIColor redColor] CGColor];
snowEmitter.shadowOpacity = 1.0; snowEmitter.shadowRadius = 0.0; snowEmitter.shadowOffset = CGSizeMake(0.0, 1.0); snowEmitter.shadowColor = [[UIColor whiteColor] CGColor];
snowEmitter.emitterCells = [NSArray arrayWithObject:snowflake]; [self.view.layer insertSublayer:snowEmitter atIndex:0]; }
|
http://www.jianshu.com/p/4b6d60755dd3
http://www.jianshu.com/p/6f5d7cfdae2f
http://www.jianshu.com/p/6a47f7348ed4