我有一个 CAEmitterLayer,我想在每个粒子的生命过程中运行一个简单的动画。
一旦粒子出现,我希望它放大到大约 1.2,然后在短时间内让它缩小到 1.0 并保持这种状态,直到它的生命周期结束。
我知道 CAEmitterCell 的 scale、scaleRange 和 scaleSpeed 属性,但它们对于我需要的东西来说太随机了。
这可能吗?我试过像这样添加 CABasicAnimation(我的 CAEmitterCell 的名字是“heart”):
CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"emitterCells.heart.scale"];
anim.fromValue = @(1.0);
anim.toValue = @(2.0);
anim.duration = 3.0;
anim.fillMode = kCAFillModeForwards;
anim.repeatCount = CGFLOAT_MAX;
[self.heartsEmitter addAnimation:anim forKey:@"scaleAnimation"];
但它不起作用,粒子只是以随机比例出现,它们根本没有动画。