ホームページ >ウェブフロントエンド >jsチュートリアル >スクリプト: After Effects スクリプト用のウィンドウの作成
Contents | |
---|---|
1. Introduction | 6. Buttons |
2. Windows | 7. Options |
3. Groups | 8. Example |
4. Panels | 9. Conclusion |
5. Text |
スクリプト用のウィンドウの作成は、エンド ユーザーが情報を入力し、指示を表示する必要がある場合に最適です。この記事では、基本的な JavaScript と Adobe Extendscript Toolkit CC を使用して、AE スクリプト用のウィンドウを作成する基本を説明します。
ウィンドウを作成するのはとても簡単です:
//New Window var mainWindow = new Window("palette", "Title", undefined);
new Window() はウィンドウを作成するための引数です。次に、内部でタイプ、タイトル、境界を指定する必要があります。パレット ウィンドウは After Effects スクリプトに適しており、サイズと位置が後で影響を受ける可能性があるため、境界を未定義のままにすることも推奨されます。
窓口に電話をかけるには:
mainWindow.show();
現在ウィンドウには何もないので、これは単に小さなウィンドウを呼び出して、それが機能していることを示します。
次に行うことは、ウィンドウの情報を格納するオブジェクトを作成することです。
「グループ」を使用すると、その中のオブジェクトを整理できます。 mainWindow.show() の前に次の行をスクリプトに追加します:
group01 = mainWindow.add("group", undefined, "Group 01");
グループを mainWindow に追加し、タイプ、境界、およびテキストのプロパティの概要を示します。グループを追加しているので、最初の引数は「group」です。ここでも、境界を未定義のままにすることができます。最後に、グループに付ける名前を入力します。これはデフォルトではウィンドウに表示されません。
パネルのデフォルトの方向は行ごとです。これをある種の列に変更したい場合は、これをスクリプトに追加することで変更できます:
group01.orientation = "column";
ただし、グループの名前を表示したい場合は、代わりに「パネル」オブジェクトの使用を検討できます。このタイプのオブジェクトは、ウィンドウの一部を区切るのに役立ちます:
group02 = mainWindow.add("panel", undefined, "Group 02");
「グループ」オブジェクトと同じプロパティを持ちますが、表示方法が若干異なります。
パネルのデフォルトの方向は列ごとです。これをある種の行に変更したい場合は、これをスクリプトに追加することで実行できます:
group02.orientation = "row";
スクリプトに含める必要があるテキストは、静的テキストと編集可能なテキストの 2 種類であると考えられます。
静的テキスト
静的テキストはエンドユーザーへの指示に使用できます。次のように「statictext」をオブジェクトに追加します。
//New Window var mainWindow = new Window("palette", "Title", undefined);
ここでも、同じ型、境界、テキスト引数を持つ追加コントロール オブジェクトを使用します。
編集可能なテキスト
編集可能なテキストは、エンド ユーザーが入力するテキスト ボックス フィールドを提供します。これは、カスタマイズ可能なテキスト レイヤーなど、スクリプトでエンド ユーザーからの情報が必要な場合に便利です。次のように「edittext」をオブジェクトに追加します。
mainWindow.show();
これは単に異なるタイプのオブジェクトです。 text 引数で指定したテキストは、最初はテキスト ボックス内にあり、エンド ユーザーが削除してその中に独自のテキストを書き込むことができます。
ご覧のとおり、ボックスのサイズが定義されていないため、編集可能なボックス内のテキストがわずかに切り取られています。これは、事後的にサイズを定義することで修正できます。
group01 = mainWindow.add("group", undefined, "Group 01");
これにより、必要に応じて、後でテキストボックスのサイズを調整できるようになります。
また、少なくともエンド ユーザーにスクリプトを「実行」するオプションを与えるために、スクリプト用のボタンが必要になる可能性があります。
ボタンの追加も同様のプロセスです:
group01.orientation = "column";
これによりボタンが作成されます。
ただし、ボタンが何かを行うには、ボタンが押されたときに何を行うかをスクリプトに指示する必要があります。私は、ボタンで完了させたいすべてのタスクを格納する関数を作成するのが好きです。
group02 = mainWindow.add("panel", undefined, "Group 02");
ここでは、button01.onClick を使用して最初の関数を実行し、app.beginUndoGroup("Tutorial") を実行するように要求します。これにより、スクリプトの取り消しが After Effects 内からの 1 つのアクションになるようになります。次に、関数 completeTasks を実行するように指示します。その下で、関数 completeTasks を定義します。ここで、ボタンに完了させたいすべてのアクションを含めます (今のところ、私のものではスクリプト ウィンドウを閉じるだけです)。そして、元に戻すグループを閉じる app.endUndoGroup("Tutorial") を追加して関数を終了します。
これについては今後の記事で詳しく説明します。
使用可能なコントロール オブジェクトのその他のオプションは、JavaScript ツール ガイド CC にあります
ここでは、チェックボックス、ドロップダウン メニュー、ラジオ ボタン、スライダーなどのオブジェクトについて説明し、いくつか例を挙げます。テキストやボタンの追加と同様の手順に従います。
ウィンドウについて学んだことを前の記事に結び付けて、新しいコンポジションを作成して開くサンプル スクリプトを作成しましょう。
//New Window var mainWindow = new Window("palette", "Title", undefined);
このスクリプトを見てみましょう。
まず、ウィンドウとグループを作成します。 Group01 は私の「パネル」で、静的テキストに見出し「説明」を追加します。一方、残りのオブジェクトは「グループ」オブジェクトである Group02 内に配置されます。 Group02の向きを縦棒にしたいのでここで設定します。
次に、オブジェクトを作成します。 Group01 内の静的テキストから始めます。次に、ユーザーが作成する新しいコンポジションのサイズを指定できるように、Group02 内に 2 つの edittext オブジェクトを作成し、両方のテキスト フィールドのサイズを指定します。最後に、エンド ユーザーがスクリプトを実行できるようにボタンを作成します。
すべての変数を作成したら、関数を作成します。まず、説明したように、[元に戻す] グループを開いてカスタム関数 completeTasks を実行することで、ボタンの onClick 関数を設定します。
次に、completeTasks を定義します。まず、compWidth 編集テキスト オブジェクトと compHeight 編集テキスト オブジェクトの両方のテキストに対して parseInt() を使用する必要があります。これにより、スクリプトの残りの部分が入力を理解できるように、テキストから整数に変換されます。これが完了したら、幅と高さをユーザーが入力した値に設定して、新しいコンポジションを作成します。その後、スクリプト ウィンドウが閉じて、元に戻すループが閉じられる前に、コンポジションが開かれてアクティブなコンポジションになります。
このスクリプトを実行すると、テキスト フィールドで指定された幅と高さの値に設定された新しいコンポジションを作成できます。
このスクリプトは、テキスト フィールドに整数以外のものが追加された場合 (または最大値を設定した場合)、スクリプトが失敗したことをユーザーに警告するアラームを追加することで改善できます。これについては、別の記事で詳しく説明します。現時点では、テキスト フィールドに不正な文字がある場合、幅と高さの両方のテキスト フィールドに数値が入力されるまでスクリプトは機能しません。
これで、Adobe Extendscript Toolkit CC を使用して After Effects スクリプト用のウィンドウを作成するための初心者ガイドは終了です。次の記事では、コンポジション用のさまざまなタイプのレイヤーの作成について説明します。
以上がスクリプト: After Effects スクリプト用のウィンドウの作成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。