アプリ版:「スタンプのみでお礼する」機能のリリースについて

AfterEffectsのスクリプトでどうしても分からないものがあります。

プロジェクトに既に存在する「平面」や「Null」をコンポジションに追加するにはどう記述すればよろしいでしょうか?

「.addNull(index)」等のメソッドでは、for文で複数コンポに作成した場合、大量の「Null」が作成されてしまいます。

どなたかご教授願います。

A 回答 (1件)

はじめまして。



既にあるアイテムをコンポに追加するには

対象のコンポ.layers.add(対象のアイテム);

になります。

addNull() や addSolid() だと新規作成されるので増えちゃうのはそのせいですね^^;



以下は参考程度に。エラー処理を入れていないのであしからずです。

プロジェクトでコンポを選んだ状態で実行すると、既にある平面とヌルのアイテムを選択コンポに追加します。


var allItems = app.project.items; //全てのアイテムを取得
var cellItems = new Array();
var actComp = app.project.activeItem; //選択コンポを取得

ii = 0;
for(var i=1;i<=allItems.length;i++){

//[平面]、[ヌル]の両方とも "[object SolidSource]" なので、これで判別します
if(allItems[i].mainSource == "[object SolidSource]"){
cellItems[ii] = allItems[i]; //"[object SolidSource]" だったら取得
ii++;
}

}


for(var i=0;i<cellItems.length;i++){

actComp.layers.add(cellItems[i]); //選択コンポに取得したアイテムを追加

}


と、いうところでどうでしょうか。

一応、6.5とCS4で動作確認しています。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!