2015-10-15 81 views
2

我正在使用After Effects腳本並使用AE腳本指南作爲學習的基礎。使用擴展腳本在After Effects項目中獲取合成名稱

我有一個After Effect項目,其中包含兩個AE項目,每個項目中都有多個項目。

我想從具有特定名稱的主項目中獲取組合,但沒有循環通過項目中的所有項目。例如,

var myComp = app.project.comp("Composition Name"); 

這可能嗎?還有別的辦法嗎?

回答

3

你可以得到補償這樣:

var myComp; 
for (var i = 1; i <= app.project.numItems; i ++) { 
    if ((app.project.item(i) instanceof CompItem) && (app.project.item(i).name === 'Comp Name')) { 
     myComp = app.project.item(i); 
     break; 
    } 
} 

請注意,如果您要檢查是否有相同名稱沒有更多的補償,你應該把它寫這樣的:

var myComp; 
for (var i = 1; i <= app.project.numItems; i ++) { 
    if ((app.project.item(i) instanceof CompItem) && (app.project.item(i).name === 'Comp Name')) { 
     if (myComp) { 
      throw new Error();//or something else 
     } 
     myComp = app.project.item(i); 
    } 
} 

如果你想要,你可以把它放在數組中,並檢查它是否是唯一的返回myComp [0],如果沒有做什麼像扔錯誤