10

我正在使用 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 循环中运行。

您发现此代码中有错误吗?

谢谢

4

1 回答 1

23

对于 CAEmitterCell,将 alpha 速度值设置为 -1.0/lifetime。

于 2014-08-23T11:42:28.563 回答