诶,一直以来基本都是在看别人的博客,自己基本没有写什么东西,需要用的时候就是各种找资料,各种翻文档。12月份的第一天,想想自己也应该要养成一个写总结的习惯吧。嗯,第一次写,如果有人看的话还希望不要介意。
先从Item开始说吧
文档中对Item的说明是:Item对象表示可以出现在项目面板中的项。第一个Item的索引是1。在Project面板中能找到的东西都是一个一个的Item,Item分为两种,一个是AVItem,一个是FolderItem。FolderItem,顾名思义就是文件夹Item,比如我们在点击文件夹图标的时候创建出来的就是一个FolderItem,AVItem又分为CompItem、FootageItem等等、一下子只能想到这么多了= =
当然不管是AVItem还是FolderItem,都是有Item派生出来的,都会有的基本属性如下:
Item的基本属性
属性 | 含义 | 类型 |
---|---|---|
Item.comment | 添加注释 | 可读写 |
Item.id | 内部识别的唯一ID | 只读 |
Item.label | 表示Item的标签颜色 | 可读写 |
Item.name | Item的名字 | 可读写 |
Item.parentFolder | 父级文件夹 | 可读写 |
Item.selected | 是否被选择 | 可读写 |
Item.typeName | Item的类型名称 | 只读 |
举例
获取工程中所有的Item名称及其类型:
for (var i = 1; i <= app.project.numItems; i++){
var myItem = app.project.item(i);
alert(myItem.name + " is " + myItem.typeName, "item " + i);
}
在JavaScript中判断类型是用instanceof
判断,比如判断一个Item是不是文件夹:
if (myItem instanceof FolderItem){
alert(myItem.name + " is a Folder Item");
}
当然了,因为Item的typeName属性,还可以通过typeName来判断Item的类型:
if (myItem.typeName === "Folder"){
alert(myItem.name + " is a Folder Item");
}
Item的基本方法
创建Item所需要使用的对象是ItemCollection,
app.project.items;
ItemCollection表示的是一些Item对象的集合,ItemCollection有两个方法用来创建Item对象
创建FolderItem
var folderItem = app.project.items.addFolder(name);
这个方法用于创建一个新的文件夹。创建并返回一个新的FolderItem对象并将其添加到这个集合中。如果ItemCollection属于根文件夹,则新文件夹的parentFolder是根文件夹。如果ItemCollection属于任何其他文件夹,那么新文件夹的parentFolder就是该文件夹。
参数
参数 | 描述 |
---|---|
name | 创建的文件夹名称 |
返回值
返回一个FolderItem
举例
// 创建一个新的FolderItem,名为“comps”
var compFolder = app.project.items.addFolder("comps");
// 将所有的CompItem移动到创建的comps文件夹中
for (var i = 1; i <= app.project.numItems; i++) {
if (app.project.item(i) instanceof CompItem)
app.project.item(i).parentFolder = compFolder;
}
// 弹出对话框,显示comps文件夹中的Comp个数
alert("CompItem Count: " + compFolder.numItems, "Count");
创建CompItem
app.project.items.addComp(name, width, height, pixelAspect, duration, frameRate);
这个方法用于创建一个新的合成Comp。创建并返回一个新的CompItem对象并将其添加到这个集合中。如果ItemCollection属于根文件夹,则新的Comp的parentFolder是根文件夹。如果ItemCollection属于任何其他文件夹,则新的Comp的parentFolder是该文件夹。
参数
参数 | 描述 |
---|---|
name | 创建的Comp名称 |
width | 创建的Comp宽,范围[4 , 30000]的整数值 (单位:像素) |
height | 创建的Comp高,范围[4 , 30000]的整数值 (单位:像素) |
pixelAspect | 创建的Comp像素纵横比,范围[0.01 , 100.0]的浮点值。 |
duration | 创建的Comp时间范围,范围[0.0, 10800.0]的浮点值(单位:秒) |
frameRate | 创建的Comp帧速率,范围[1.0, 99.0]的浮点值 |
返回值
返回一个CompItem
举例
var myComp = app.project.items.addComp("my comp", 1920, 1080, 1.0, 5, 25);
myComp.parentFolder = compFolder;
嗯,,,,先写这么些吧,,好像有点太那啥了,,后面慢慢地再接着写吧。。。