「派手な」効果を与える CALayer アニメーションを作成したいと考えています。そのために、「不透明度」プロパティをアニメーション化しようとしていますが、私の問題は、どこから始めて、どのように行うべきかわからないことです。
アニメーションのグラフィカルな説明は次のとおりです。
opacity
| ___
1 | | |
| | | * repeatCount
0 |___| |_ . . .
-------------------------> time
|______|
duration
不透明度は 0 から始まり、1 にアニメーション化され、次に 0 に戻ります (この 0 から 1 から 0 へのアニメーションには、持続時間に等しい秒数がかかります)。その後、このプロセスが '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 を使用したことがないので、アニメーション システムの仕組みを学ぶ良い機会でもあります。ところで、ドキュメントを検索したところ、1 つまたは 2 つの簡単なアニメーションを追加する方法は理解できましたが、この特定のアニメーションを行う方法がわかりません。