我有一个CAEmitterLayer,我想在每个粒子的生命过程中运行一个简单的动画。
一旦粒子弹出,我希望它放大到1.2左右,然后在短时间后将其缩放回1.0,并保持这种状态,直到它的生命周期到期。
我知道CAEmitterCell的scale、scaleRange和scaleSpeed属性,但它们对于我需要的东西来说太随机了。
这有可能做到吗?我试着像这样添加一个CABasicAnimation (我的CAEmitterCell的名字是“CABasicAnimation”):
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"];但它不起作用,粒子只是以随机的比例出现,它们根本没有动画。
发布于 2015-09-08 08:44:15
我不完全确定,但在我看来,您将动画应用于发射器,而不是细胞。
如果CAEmitterCell的名字是哈特,试试这个:[self.heart addAnimation:anim forKey:@"scaleAnimation"];。这有帮助吗?
https://stackoverflow.com/questions/31472216
复制相似问题