装飾バナー

エクスプレッション内のキーフレームおよびマーカーへのアクセス


    キーフレームおよびマーカーにアクセスするエクスプレッションを記述できます。これらのエクスプレッションは、キーフレームおよびマーカーの位置と値で区切られた特定の時間に、値にアクセスする場合に便利です。以下の属性とメソッドを使用してキーフレームまたはマーカーにアクセスします。

    this_comp.marker(marker_num)

    コンポジションマーカーの時間を返します。この属性を使用して、以下の例のように、マーカーが位置する時刻にレイヤーの不透明度をフェードアウトさせることができます。

    mark_time = this_comp.marker(1);

    linear(time, mark_time - .5, mark_time, 100, 0)

    num_keys

    プロパティに含まれるキーフレームの数を返します。

    nearest_key(time)

    指定時間に最も近いキーフレームオブジェクトを返します。

    key(idx)

    キーフレームを番号によって返します。例えば、key(1)では、最初のキーフレームが返ります。

    キーオブジェクトにアクセスするとき、そのオブジェクトから、時間、インデックス、および値のプロパティを取得できます。例えば、以下のエクスプレッションでは、3番めの位置キーの値が返ります。

    position.key(3).value

    以下に示す、アニメートされるレイヤーの不透明度プロパティについて記述したエクスプレッションでは、フラッシュを発生させる場所を決定するときに、キーフレーム値は無視され、キーフレームの時間上の配置のみが使用されます。

    d = Math.abs(time - nearest_key(time).time);

    ease_out(d, 0, .1, 100, 0)

    marker

    レイヤーのマーカープロパティを返します。マーカープロパティは、使用可能なメソッドおよび属性がkey()、nearest_key、およびnum_keysのみであるという点で、Positionなどのその他のプロパティとは異なります。キーの取り出しには、2つの方法があります。例えば、以下のエクスプレッションのように、インデックスを使用します。

    marker.key(1)

    また、マーカーダイアログボックスのコメント欄に入力したマーカー名を使用してキーを取り出すこともできます。

    marker.key("foo")

    マーカーキーの値は、数値ではなく文字列名です。例えば、レイヤーの不透明度プロパティについて記述した以下のエクスプレッションに注目してください。

    m1 = marker.key("Start").time;

    m2 = marker.key("End").time;

    linear(time, m1, m2, 0, 100);