首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CAEmitterCell的自定义动画

CAEmitterCell的自定义动画
EN

Stack Overflow用户
提问于 2015-07-17 17:12:11
回答 1查看 448关注 0票数 0

我有一个CAEmitterLayer,我想在每个粒子的生命过程中运行一个简单的动画。

一旦粒子弹出,我希望它放大到1.2左右,然后在短时间后将其缩放回1.0,并保持这种状态,直到它的生命周期到期。

我知道CAEmitterCell的scale、scaleRange和scaleSpeed属性,但它们对于我需要的东西来说太随机了。

这有可能做到吗?我试着像这样添加一个CABasicAnimation (我的CAEmitterCell的名字是“CABasicAnimation”):

代码语言:javascript
复制
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"];

但它不起作用,粒子只是以随机的比例出现,它们根本没有动画。

EN

回答 1

Stack Overflow用户

发布于 2015-09-08 08:44:15

我不完全确定,但在我看来,您将动画应用于发射器,而不是细胞。

如果CAEmitterCell的名字是哈特,试试这个:[self.heart addAnimation:anim forKey:@"scaleAnimation"];。这有帮助吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31472216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档