我正在使用CAEmitterLayer和CAEmitterCell实例创建粒子动画。动画没有问题,但我想让它们慢慢淡出。我正在使用下面的代码,但是粒子突然消失,没有淡出动画。
NSString *animationPath = [NSString stringWithFormat:@"emitterCells.%@.birthRate", cell.name];
CABasicAnimation *birthRateAnimation = [CABasicAnimation animationWithKeyPath:animationPath];
birthRateAnimation.fromValue = [NSNumber numberWithFloat:30.0];
birthRateAnimation.toValue = [NSNumber numberWithFloat:0.0];
birthRateAnimation.removedOnCompletion = NO;
birthRateAnimation.duration = 10.0;
[emitterLayer addAnimation:birthRateAnimation forKey:@"birthRate"];
此代码在for循环中运行,用于五个不同的发射器单元。
您是否发现此代码中存在错误?
由于
答案 0 :(得分:16)
对于CAEmitterCell,将alpha速度值设置为-1.0 / lifetime。