本文首发于我的Hexo博客: https://likianta.coding.me/2018/0131-160058/
item
是项目面板中的文件(如图所示)。index
是整数,取值范围是从1到该面板中的项目文件总数量。
比如我们使用下列代码测试:
var x = app.project.item(1);
var s = x.typeName;
alert(s, 'alert dialog');
运行显示:
注意item(index)
是从上到下依次遍历的,因此有:
item(1) - 文件夹(即图中的“美食出字方式1107”文件夹)
item(2) - 文件夹(也就是图中“固态层”文件夹)
item(3) - 素材(对应图中的“黑色 纯色1”)
item(4) - 素材(对应图中的“黑色 纯色2”)
item(5) - 合成(对应图中的“出字一”)
item(6) - 合成
item(7) - 合成
…(我的项目中共有34个item)
item(34) - 素材(对应最后一个素材)
那么如果硬要取item(0)
的话会出现什么问题呢:
由此可见,取0
的话会提示该值不在“1-34”范围内(因为我的项目素材一共有34个),所以会报错。
另外可能有同学会问,如果我的素材的排序方式是按大小排序的,那么会不会造成item类型改变呢?
实际测试的结果是不会变的,item(index)
是按照类型(升序)排法从上到下依次遍历的。
最后补充一个,app.project.item(index).layer(index)
中的layer
也是从1开始取的。
参考:
After Effects CS6 Scripting Guide.pdf - p78