出于某种原因,尽管importedChar.numItems =2,我的循环仅执行一次

After Effects项目从1而不是0开始,所以我使用x=1,这是我得到的

for(x=1; x < importedChar.numItems; x++) {
    if (importedChar.item(x) instanceof CompItem) {
        //Add imported Char to Main Comp
        var newObj = null;
        var newObj = myComp.layers.add(importedChar.item(x))

        //Move Layer under null
        newObj.moveAfter(newNull);

        //Parent to Null
        newObj.parent = newNull;
    }
}


如果第一项是合成,则运行良好,但如果是第二项,则退出循环

最佳答案

您需要使用<=而不是<使其运行两次。

编辑:或者,使用for(x=0; x < importedChar.numItems; x++) {,然后在需要使用时使用x+1,但是在可以避免这种情况的情况下,最好使用<=

当您需要访问索引和有意义的值时(例如,打印出对人类友好的错误消息),通常会出现您希望使用替代方法的情况

09-28 01:22