2015-10-15 87 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],如果没有做什么像扔错误