Item 项目

Item 对象

app.project.items[index]/app.project.item(index)

描述:Item 对象表示可以出现在“项目”面板中的项目。首项索引为 1。

子级关系:Item 是音视频项目(AVItem)和文件夹项目(FolderItem)的基类,后两者又是其他各种 item 类型的基类。因此本页 Item 属性和方法,这些 item 类型都能用。

示例:

从项目面板中获取第二个项目,并检查它是否为文件夹。然后,从文件夹中删除未选择的项目。

Item - 图1Item - 图2

  1. var myFolder = app.project.item(2);
  2. if (!(myFolder instanceof FolderItem)) {
  3. alert("error: 第二项不是文件夹");
  4. } else {
  5. var numInFolder = myFolder.numItems;
  6. //删除内容时始终向后运行循环:
  7. for (var i = numInFolder; i >= 1; i--) {
  8. var curItem = myFolder.item(i);
  9. if (curItem.parentFolder !== myFolder) {
  10. alert("AE: 父文件夹未正确设置");
  11. } else {
  12. if (!curItem.selected) {
  13. //当前项未被选择,则删除.
  14. curItem.remove();
  15. }
  16. }
  17. }
  18. }

属性

comment 项目注释

app.project.item(index).comment

描述:给项目添加注释,长度最多为 15999 字节。

类型:字符串; 读/写。

Item - 图3

  1. app.project.item(1).comment = "我是项目1";

dynamicLinkGUID 动态链接标识号

app.project.item(index).dynamicLinkGUID

描述:用于动态链接的唯一且持久的标识号,形式为 00000000-0000-0000-0000-000000000000。

类型:字符串; 只读。

guides 参考线

app.project.item(index).guides

::: info 提示 此功能已添加到 After Effects 16.1(CC 2019)中 :::

描述:参考线对象,包含参考线方向(orientationType),和位置(position)属性。

类型:字符串; 只读。

id 项目 ID

app.project.item(index).id

描述:在内部用于标识项目的唯一且持久的标识号。重新加载,ID 不变。但是将此项目导入新项目时,会分配新的 ID。该 ID 在用户界面不显示,只能通过脚本获取。

类型:整数; 只读。

label 标签色号

app.project.item(index).label

描述:标签颜色。颜色由其数字表示(“ 0”代表“无”,或者“ 1 至 16”代表“标签”首选项中的一种预设颜色)。

::: info 提示 自定义标签颜色无法通过编程设置。 :::

类型:整数(0 到 16);读/写。

示例:显示项目中第 5 个项目的标签号,顺序就是设置的那种顺序。

  1. alert(app.project.item(5).label);

Item - 图4

name 项目名称

app.project.item(index).name

描述:在“项目”面板中显示的项目名称。

类型:字符串; 读/写。

parentFolder 父级文件夹

app.project.item(index).parentFolder

描述:此项的父级文件夹对象。如果位于最顶层,则返回根文件夹(app.project.rootFolder)。可以使用 ItemCollection.addFolder()添加新文件夹,并将项目放入新文件夹中。

类型:文件夹对象(FolderItem);读/写。

示例:在“项目”面板创建一个新文件夹,并将所有合成移入其中。

  1. //创建文件夹对象,命名为comps v
  2. ar compFolder = app.project.items.addFolder("comps");
  3. // order:判断文件夹在合成前还是后(项目面板)
  4. var order = true;
  5. for (var i = 1; i <= app.project.numItems; i++) {
  6. alert(i);
  7. alert(app.project.item(i).name);
  8. if (app.project.item(i).name == 'comps') {
  9. order = false;
  10. }
  11. if (app.project.item(i) instanceof CompItem) {
  12. app.project.item(i).parentFolder = compFolder;
  13. //找到合成并添加到文件夹后,如果合成在文件夹前,当前循环数-1,文件总数-1,否则直接循环
  14. if(order == true){
  15. i--; }
  16. }
  17. }

selected 选择状态

app.project.item(index).selected

描述:如果为 true,则选择该项目。为 false 则取消选择。可以同时选择多项。

类型:布尔值 读/写。

示例:选中项目面板中,第 1/3/5 个项目

  1. var arr = Array(1, 3, 5);
  2. for (i in arr) {
  3. app.project.item(arr[i]).selected = true;
  4. }

typeName 项目类别名

app.project.item(index).typeName

描述:用户项目类型名称;例如“文件夹”,“样式”或“合成”。这些名称取决于语言环境。(英文版本:Folder;中文版:文件夹)

类型:字符串; 只读。

示例:查看项目面板第 6 个项目的类型名称

  1. alert(app.project.item(6).typeName);

Item - 图5

方法

addGuide() 创建参考线

app.project.item(index).addGuide(orientationType, position)

::: info 提示 此功能已添加到 After Effects 16.1(CC 2019)中 :::

描述:创建一个新参考线,并将其添加到 guidesItem 的对象中。

参数:

  • orientationType:0,水平参考线(默认);1,垂直参考线。
  • position:参考线的 X 或 Y 坐标(以像素为单位);整数。

返回:新创建参考线的索引;整数 。

示例:创建垂直参考线,且距离起点 500px。

  1. app.project.activeItem.addGuide(1, 500);

Item - 图6

remove() 删除项目

app.project.item(index).remove()

描述:从项目和“项目”面板中删除此项目。如果该项目是文件夹(FolderItem),则文件夹中包含的所有项目也将从项目中删除。不是从硬盘删除,而是从 AE 项目面板!

参数:无。

返回:无。

removeGuide() 删除参考线

app.project.item(index).removeGuide(guideIndex)

::: info 提示 此功能已添加到 After Effects 16.1(CC 2019)中 :::

描述:根据索引删除现有参考线。

参数:guideIndex,参考线索引;整数。从 0 开始

返回:无。

示例:删除第一个参考线。

  1. app.project.activeItem.removeGuide(0);

:::danger: 删除索引 2,那么原来的索引 3 就会变成 2。 :::

setGuide() 修改参考线

app.project.item(index).setGuide(position,guideIndex)

::: info 提示 此功能已添加到 After Effects 16.1(CC 2019)中 :::

描述:根据参考线索引,修改现有参考线位置。不能更改参考线方向。

参数:

  • position:新的 X 或 Y 坐标位置(以像素为单位);整数
  • guideIndex:参考线索引;整数。从 0 开始

返回:无。

示例:将第 1 个参考线的位置更改为 1200 像素。

  1. app.project.activeItem.setGuide(1200, 0);