您的位置:首页 > 其它

用CAEmitterLayer实现粒子动画飘雪花效果

2015-03-24 23:02 495 查看
// Configure the particle emitter to the top edge of the screen

CAEmitterLayer *snowEmitter = [CAEmitterLayer
layer];

snowEmitter.emitterPosition =
CGPointMake(self.view.bounds.size.width
/ 2.0, -30);
snowEmitter.emitterSize
= CGSizeMake(self.view.bounds.size.width
* 2.0, 0.0);;

// Spawn points for the flakes are within on the outline of the line

snowEmitter.emitterMode
= kCAEmitterLayerOutline;

snowEmitter.emitterShape
= kCAEmitterLayerLine;

// Configure the snowflake emitter cell

CAEmitterCell *snowflake = [CAEmitterCell
emitterCell];

snowflake.birthRate
= 10.0;//粒子产生速率
snowflake.lifetime
= 120.0;//粒子的生命时间

snowflake.velocity
= -300;
//粒子发射速度 // falling down slowly
snowflake.velocityRange =
5;
snowflake.yAcceleration =
2;

snowflake.emissionRange =
0.5 *
M_PI;
// some variation in angle
snowflake.spinRange
= 0.25 * M_PI;
// slow spin

snowflake.contents
= (id) [[UIImage
imageNamed:@"DazFlake"]
CGImage];

snowflake.color
= [[UIColor
colorWithRed:0.600
green:0.658
blue:0.743
alpha:1.000]
CGColor];

// Make the flakes seem inset in the background
snowEmitter.shadowOpacity =
1.0;
snowEmitter.shadowRadius  =
0.0;
snowEmitter.shadowOffset  =
CGSizeMake(0.0,
1.0);
snowEmitter.shadowColor   = [[UIColor
whiteColor] CGColor];

// Add everything to our backing layer below the UIContol defined in the storyboard
snowEmitter.emitterCells = [NSArray
arrayWithObject:snowflake];

[self.view.layer
insertSublayer:snowEmitter atIndex:0];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: