通过<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];

}

posted @ 2016-10-25 15:09  king雁过无痕  阅读(309)  评论(0)    收藏  举报