通过<QuartzCore/CoreAnimation.h>实现让玫瑰花飞舞
通过QuartzCore框架下的CAEmitterLayer可以轻松实现玫瑰花漫天飞舞的动画
实现代码如下:
- (void)viewDidLoad {
[super viewDidLoad];
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);
snowEmitter.emitterShape = kCAEmitterLayerLine;
snowEmitter.emitterMode = kCAEmitterLayerOutline;
CAEmitterCell *snowflake = [CAEmitterCell emitterCell];
snowflake.birthRate = 10.0;
snowflake.lifetime = 120;
snowflake.velocity = 20;
snowflake.velocityRange = 10;
snowflake.yAcceleration = 10;
snowflake.emissionRange = 0.5 * M_PI;
snowflake.spinRange = 0.25 * M_PI;
snowflake.contents = (id) [[UIImage imageNamed:@"rose"] CGImage];
// snowflake.color = [[UIColor colorWithRed:0.600 green:0.658 blue:0.743 alpha:1.000] 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];
}


浙公网安备 33010602011771号