我正在制作一些粒子的动画,而不是在他们一生的最后消失,我希望它们淡出。
我定义了CAEmitterCell
,生命周期为35.0。我不希望粒子在粒子寿命的整个持续时间内淡出。我只想让它在最后淡出。也许最后2或3秒。
答案 0 :(得分:6)
对于CAEmitterCell
' color
属性,请将alpha值设置为lifetime * alphaSpeed
(其中alphaSpeed为-1.0 / fadeOutDuration)。
因此,对于35.0的生命周期和2.0的fadeOutDuration,alphaSpeed将为-0.5,alpha为17.5。
有几点需要注意:
CAEmitterCell
创建的CGColorRef
设置CGColorCreateCopyWithAlpha
的颜色属性。 UIColor
和CGColorCreate
都将其值限制为最大值1.0。无论出于何种原因,CGColorCreateCopyWithAlpha
都没有。答案 1 :(得分:1)
刚刚在文档中发现了这可能指向正确的方向:
名 单元格的名称。
@property(copy)NSString * name 讨论 构造引用单元格的动画关键路径时使用单元名称。默认为nil。
例如,使用一个关键路径(例如emitterCells.myCellName.redRange)将动画添加到单元格的封闭图层中,可以使用名称myCellName为图层的emitterCells数组中的单元格的redRange属性设置动画。
状况 适用于Mac OS X v10.6及更高版本。 宣告进入 CAEmitterCell.h
我收集你仍然将动画添加到图层,但是使用引用该图层一部分的关键路径 - 在这种情况下是单元格的属性。是否为细胞暴露了alpha属性?