4

C4で次のようにレイヤーマスクを作成できることを知っています。

object.layer.mask = anotherObject.layer;

アニメーションマスクを使用する既知の方法はありますか?

4

1 に答える 1

3

はい。いくつかの異なる方法でマスクをアニメートできます。

まず、レイヤーがマスクになるオブジェクトとして基本形状を使用すると、通常どおりにそれらをアニメートでき、これがアニメートされたマスクになります。

これは、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スタイルの画像を作成します...しかし、このメソッドはまったく新しい/実験的なものであるため、画像間の遷移の速度を制御することはできません。

于 2012-05-24T19:12:14.557 に答える