PropertyBase object

記述

app.project.item(index).layer(index).propertySpec


概要

プロパティへはレイヤーを経由してアクセスしますが、様々な種類の構文のを使用してアクセスが可能です。以下の例では、書式は違いますが、どれも同じEffectsグループへのアクセスを行っています。(propertyGroup() method参照)

var effect1 = app.project.item(1).layer(1).effect("Add Grain")("Viewing Mode");
var effect1again = app.project.item(1).layer(1).effect.addGrain.viewingMode;
var effect1againtoo = app.project.item(1).layer(1)("Effects").addGrain.viewingMode;
var effect1againtoo2 = app.project.item(1).layer(1)("Effects")("Add Grain")("Viewing Mode");

• PropertyBaseはPropertyおよびPropertyGroup objectのベースオブジェクトです。PropertyBaseのアトリビュートとメソッドはPropertyおよびPropertyGroup objectでも使用可能です。



サンプル

参照しているオブジェクトが無効になるような変更が加えられた場合、スクリプトがオブジェクトを参照するとエラーを生成します。例えば、オブジェクトを削除してから、そのオブジェクトを参照しようとすると、"Object is Invalid"(日本語版では"オブジェクトが無効です")というエラーが発生します。

var layer1 = app.project.item(1).layer(1); 
layer1.remove();
alert(layer1.name); // invalid reference to deleted object

同様に削除されたオブジェクトのAEプロパティを参照しようとしてもエラーが発生します。

var layer1 = app.project.item(1).layer(1);
var layer1position = layer1.transform.position;
layer1.remove();
alert(layer1position.value); // invalid reference to property in selected object

もう少し混みいったケースでは、プロパティグループからプロパティが削除される場合が挙げられます。このような場合インデックス位置が変化してしまうために、After Effectsはユーザーがアイテムまたはグループ内のアイテムを参照した直後に"Object is Invalid"(日本語版では"オブジェクトが無効です") というエラーを生成します。

var effect1 = app.project.item(1).layer(1).effect(1);
var effect2 = app.project.item(1).layer(1).effect(2);
var effect2param = app.project.item(1).layer(1).effect(2).blendWithOriginal; effect1.remove();
alert(effect2.name); // invalid reference because group index positions have changed 


Attributes

 nameプロパティの名称。
 matchNameプロパティを識別するための特別な名称。
 propertyIndexこのプロパティの親グループ内でのインデックス。
 propertyDepthこのプロパティを含むレイヤーからこのプロパティまでのグループの階層数。
 propertyTypeプロパティのタイプ。
 parentPropertyこのプロパティのすぐ上の階層の親グループ。
 isModifiedtrueの場合、プロパティは作成後に変更されている。
 canSetEnabledtrueの場合、After EffectsのUIはこのプロパティのために目玉のアイコンを表示している。
 enabledtrueの場合、このプロパティが有効になっている。
 activetrueの場合、このプロパティがアクティブになっている。
 elidedtrueの場合、このプロパティはAfter EffectsのUIで表示されていない。
 isEffecttrueの場合、このプロパティはエフェクト。
 isMasktrueの場合、このプロパティはマスク。
 selectedtrueの場合、このプロパティが選択状態になっている。



 propertyGroup()このプロパティの親グループ。
 remove()このプロパティをプロジェクトから削除
 moveTo()このプロパティを親グループ内の新しい場所に移動。
 duplicate()このプロパティオブジェクトを複製。




サブページ (2): Attributes Methods
Comments