C4で次のようにレイヤーマスクを作成できることを知っています。
object.layer.mask = anotherObject.layer;
アニメーションマスクを使用する既知の方法はありますか?
はい。いくつかの異なる方法でマスクをアニメートできます。
まず、レイヤーがマスクになるオブジェクトとして基本形状を使用すると、通常どおりにそれらをアニメートでき、これがアニメートされたマスクになります。
これは、C4で表示されている任意のオブジェクト(つまり、図形、ムービー、画像など)に対して実行できます。
例えば:
object.layer.mask = aShape.layer;
aShape.animationDuration = 1.0f;
aShape.origin = CGPointMake(x, y);
上記は画像でも可能です。画像を使用する場合、画像の鮮明な部分はoriginal
オブジェクト内で透明になります。
さらに、文書化されていないアニメート可能な画像法があります。これは実験的であり、最新のテンプレートでのみ使用できます。
それを使用すると、次のようになります。
NSArray *imageNamesArray = [NSArray arrayWithObjects:@"imageName01.png",...,nil];
C4Image *animatedImage = [C4Image animatedImageWithNames:imageNamesArray];
object.layer.mask = animatedImage.mask;
基本的に、このメソッドはアニメーションGIFスタイルの画像を作成します...しかし、このメソッドはまったく新しい/実験的なものであるため、画像間の遷移の速度を制御することはできません。