我想创建一个CALayer动画,给人一种“闪光”的效果。为此,我尝试对“透明度”属性进行动画处理,但我的问题是我不知道从哪里开始和如何实现。
这里是动画的图形解释:
opacity
| ___
1 | | |
| | | * repeatCount
0 |___| |_ . . .
-------------------------> time
|______|
duration
透明度开始为0,然后动画变为1,再变为0 (这个0到1到0的动画持续秒数等于duration)。然后这个过程会重复'repeatCount'次。
以下是代码的背景信息:
float duration = ...; // 0.2 secs, 1 sec, 3 secs, etc
int repeactCount = ...; // 1, 2, 5, 6, ect
CALayer* layer = ...; // I have a CALayer from another part of the code
layer.opacity = 0;
// Animation here
done = YES; // IN THE END of the animation set this ivar to yes
如何最好地实现这个?我以前从未使用过CALayers,所以这也是一个很好的机会来学习一下它们的动画系统。顺便说一句,我已经查阅了文档,并且理解了如何添加一个或两个简单的动画,但是我不知道如何做到这一点。