搜尋
首頁web前端js教程腳本編寫:為 After Effects 腳本建立視窗

Contents
1. Introduction 6. Buttons
2. Windows 7. Options
3. Groups 8. Example
4. Panels 9. Conclusion
5. Text

介紹

當您需要最終使用者輸入資訊並顯示說明時,為腳本建立視窗是理想的選擇。在本文中,我將介紹使用一些基本的 javascript 和 Adob​​e Extendscript Toolkit CC 為 AE 腳本建立視窗的基礎知識。


視窗

製作你的窗戶,非常簡單:

//New Window
var mainWindow = new Window("palette", "Title", undefined);

new Window() 是建立視窗的參數。然後,您需要在內部指定類型、標題和邊界。調色板視窗適用於 After Effects 腳本,並且還建議將邊界保留為未定義,因為大小和位置稍後可能會受到影響。

呼叫您的視窗:

mainWindow.show();

由於視窗中目前沒有任何內容,這將簡單地呼叫一個小視窗來顯示它正在工作。

Screenshot of window with nothing in it


團體

接下來要做的是建立一個物件來儲存視窗的資訊。

「群組」允許您組織其中的物件。在 mainWindow.show() 之前將此行新增到您的腳本中:

group01 = mainWindow.add("group", undefined, "Group 01");

我們將群組新增到主窗口,概述類型、邊界和文字屬性。由於我們要新增一個群組,因此第一個參數是「group」。同樣,您可以不定義邊界。最後,包括您希望為該群組命名的內容。預設情況下,這不會顯示在視窗中。

Screenshot of a group object with the text

面板的預設方向是按行。如果您想將其變更為列排序,可以透過將其新增至腳本:

group01.orientation = "column";

面板

但是,如果您確實希望群組的名稱可見,則可以考慮使用「面板」物件。這種類型的物件有助於分割視窗的某些部分:

group02 = mainWindow.add("panel", undefined, "Group 02");

它與「群組」物件具有相同的屬性,但顯示略有不同。

Screenshot of a panel object with the text

面板的預設方向是按列。如果您想將其變更為按行排序,可以透過將其新增至腳本:

group02.orientation = "row";

文字

您可能想要在腳本中包含 2 種類型的文字:靜態文字和可編輯文字。

靜態文字
靜態文字可用於向最終使用者提供說明。將“statictext”加入您的物件中,如下所示:

//New Window
var mainWindow = new Window("palette", "Title", undefined);

我們再次使用新增控制對象,具有相同的類型、邊界和文字參數。

可編輯文字
可編輯文字提供了一個文字方塊欄位供最終使用者輸入。如果我們的腳本需要來自最終用戶的信息(例如可自訂的文字層),這非常有用。將“edittext”新增到您的物件中,如下所示:

mainWindow.show();

這只是一種不同類型的物件。我們在文字參數中提供的文字最初將位於文字方塊中,供最終使用者刪除並在其中寫入自己的文字。

Screenshot of script displaying a static text and editable text example.

如您所見,由於未定義框的大小,可編輯框中的文字被稍微剪切掉。我們可以事後定義大小來解決這個問題:

group01 = mainWindow.add("group", undefined, "Group 01");

這使我們能夠在以後調整文字框的大小,如果我們願意的話。

Screenshot of script displaying a static text and editable text example,with a slightly bigger text box.


按鈕

您的腳本也可能需要按鈕,至少為最終用戶提供「運行」腳本的選項。

新增按鈕是類似的過程:

group01.orientation = "column";

這將創建我們的按鈕。

Screenshot of a script with a run button.

但是,為了讓我們的按鈕執行任何操作,我們需要告訴腳本在按下按鈕時要做什麼。我喜歡創建一個函數來容納我希望按鈕完成的所有任務。

group02 = mainWindow.add("panel", undefined, "Group 02");

在這裡,我們使用 button01.onClick 運行我們的第一個函數,我們要求它運行 app.beginUndoGroup("Tutorial"),以便撤消腳本是 After Effects 內部的單一操作。接下來,我們告訴它運行我們的函數completeTasks。在下面,我定義了函數completeTasks。在這裡,包括您希望按鈕完成的所有操作(目前,我的按鈕僅關閉腳本視窗),並透過新增 app.endUndoGroup("Tutorial") 關閉撤消群組來完成該功能。

我將在以後的文章中詳細介紹這一點。


選項

可用的控制對象的其他選項位於 Javascript 工具指南 CC

此處涵蓋了複選框、下拉式選單、單選按鈕和滑桿等對象,僅舉幾例,並遵循類似的過程來添加文字或按鈕。


例子

讓我們將有關 Windows 的知識與上一篇文章連結起來,並製作一個用於建立和開啟新合成的範例腳本。

//New Window
var mainWindow = new Window("palette", "Title", undefined);

讓我們來看看這個腳本。

我先建立我的視窗和群組。 Group01 是我的“面板”,將標題“描述”新增到靜態文字中。同時,我的其餘物件進入 Group02,一個「群組」物件。因為我希望 Group02 的方向是一列,所以我在這裡設定。

然後,我建立我的物件。我從 Group01 內的靜態文字開始。接下來,我在 Group02 內建立 2 個 edittext 對象,以便使用者指定他們想要建立的新合成的大小,並指定這兩個文字欄位的大小。最後,我創建一個按鈕,以便最終用戶可以運行該腳本。

創建了所有變數後,我就創建了函數。我首先按照說明為按鈕設定 onClick 函數,方法是開啟撤銷群組並執行自訂函數completeTasks。

然後我定義completeTasks。首先,我需要對 compWidth 和 compHeight 編輯文字物件的文字使用 parseInt()。這會將它們從文字轉換為整數,以便腳本的其餘部分可以理解輸入。完成此操作後,我建立一個新的合成,將寬度和高度設定為使用者輸入的值。然後,在腳本視窗關閉之前,合成將開啟並成為活動合成,並且撤銷循環將關閉。

執行此腳本可讓您將新的合成設定為文字欄位中指定的寬度和高度值。

可以透過新增警報來改進此腳本,如果文字欄位中新增的任何內容不是整數(或可能設定最大值),則警告使用者腳本已失敗。我將在另一篇文章中更詳細地討論這一點。目前,如果文字欄位中存在非法字符,則腳本將無法運作,直到寬度和高度文字欄位都輸入數字為止。

Screenshot of completed script


結論

使用 Adob​​e Extendscript Toolkit CC 為 After Effects 腳本建立視窗的初學者指南到此結束。下一篇文章我將介紹為您的作品創建不同類型的圖層。

以上是腳本編寫:為 After Effects 腳本建立視窗的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
在JavaScript中替換字符串字符在JavaScript中替換字符串字符Mar 11, 2025 am 12:07 AM

JavaScript字符串替換方法詳解及常見問題解答 本文將探討兩種在JavaScript中替換字符串字符的方法:在JavaScript代碼內部替換和在網頁HTML內部替換。 在JavaScript代碼內部替換字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 該方法僅替換第一個匹配項。要替換所有匹配項,需使用正則表達式並添加全局標誌g: str = str.replace(/fi

jQuery檢查日期是否有效jQuery檢查日期是否有效Mar 01, 2025 am 08:51 AM

簡單JavaScript函數用於檢查日期是否有效。 function isValidDate(s) { var bits = s.split('/'); var d = new Date(bits[2] '/' bits[1] '/' bits[0]); return !!(d && (d.getMonth() 1) == bits[1] && d.getDate() == Number(bits[0])); } //測試 var

jQuery獲取元素填充/保證金jQuery獲取元素填充/保證金Mar 01, 2025 am 08:53 AM

本文探討如何使用 jQuery 獲取和設置 DOM 元素的內邊距和外邊距值,特別是元素外邊距和內邊距的具體位置。雖然可以使用 CSS 設置元素的內邊距和外邊距,但獲取準確的值可能會比較棘手。 // 設定 $("div.header").css("margin","10px"); $("div.header").css("padding","10px"); 你可能會認為這段代碼很

10個jQuery手風琴選項卡10個jQuery手風琴選項卡Mar 01, 2025 am 01:34 AM

本文探討了十個特殊的jQuery選項卡和手風琴。 選項卡和手風琴之間的關鍵區別在於其內容面板的顯示和隱藏方式。讓我們深入研究這十個示例。 相關文章:10個jQuery選項卡插件

10值得檢查jQuery插件10值得檢查jQuery插件Mar 01, 2025 am 01:29 AM

發現十個傑出的jQuery插件,以提升您的網站的活力和視覺吸引力!這個精選的收藏品提供了不同的功能,從圖像動畫到交互式畫廊。讓我們探索這些強大的工具:相關文章:1

HTTP與節點和HTTP-Console調試HTTP與節點和HTTP-Console調試Mar 01, 2025 am 01:37 AM

HTTP-Console是一個節點模塊,可為您提供用於執行HTTP命令的命令行接口。不管您是否針對Web服務器,Web Serv

自定義Google搜索API設置教程自定義Google搜索API設置教程Mar 04, 2025 am 01:06 AM

本教程向您展示瞭如何將自定義的Google搜索API集成到您的博客或網站中,提供了比標準WordPress主題搜索功能更精緻的搜索體驗。 令人驚訝的是簡單!您將能夠將搜索限制為Y

jQuery添加捲軸到DivjQuery添加捲軸到DivMar 01, 2025 am 01:30 AM

當div內容超出容器元素區域時,以下jQuery代碼片段可用於添加滾動條。 (無演示,請直接複製到Firebug中) //D = document //W = window //$ = jQuery var contentArea = $(this), wintop = contentArea.scrollTop(), docheight = $(D).height(), winheight = $(W).height(), divheight = $('#c

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中