1 最近看了一些oc的核心动画,发现了一些以前不懂的知识。突然发现一个很好玩的动画效果,雪花飘落。
2 具体实现的代码:
//雪花飘落
CAEmitterLayer *flowerLayer = [CAEmitterLayer layer];
flowerLayer.emitterPosition = CGPointMake(100, -30);
flowerLayer.emitterSize = CGSizeMake(self.view.bounds.size.width * 2 , 0);
flowerLayer.emitterMode = kCAEmitterLayerOutline;
flowerLayer.emitterShape = kCAEmitterLayerLine;
CAEmitterCell *flowerCell = [CAEmitterCell emitterCell];
flowerCell.contents = (__bridge id)[UIImage imageNamed:@"3"].CGImage;
//雪花缩放比例
flowerCell.scale = 0.02;
flowerCell.scaleRange = 0.5;
//每秒产生的雪花数目
flowerCell.birthRate = 12;
flowerCell.lifetime = 100;
//雪花变透明的速度
flowerCell.alphaSpeed = -0.0001;
//秒速“五”厘米~~
flowerCell.velocity = 100;
flowerCell.velocityRange = 60;
//雪花掉落的角落范围
flowerCell.emissionRange = M_PI;
//雪花旋转的速度
flowerCell.spin = M_PI_4;
//阴影的不透明度
flowerLayer.shadowOpacity = 1;
//阴影化开的程度
flowerLayer.shadowRadius = 12;
//阴影的偏移量
flowerLayer.shadowOffset = CGSizeMake(6, 6);
//阴影的颜色
flowerLayer.shadowColor = [[UIColor whiteColor] CGColor];
flowerLayer.emitterCells = [NSArray arrayWithObject:flowerCell];
[self.view.layer addSublayer:flowerLayer];
3 心得 主要是对CAEmitterLayer属性得一些设置