0

どういうわけか私のループは一度だけ通過していますimportedChar.numItems =2

After Effectsのアイテムは0ではなく1から始まるので、使用します。これが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;
    }    
}

最初のアイテムがコンポジションの場合は正常に実行されますが、2番目のアイテムの場合はループを離れます

4

2 に答える 2

3

2回実行する<=代わりにを使用する必要があります。<

編集:あるいは、for(x=0; x < importedChar.numItems; x++) {それを使用x+1する必要があるときに使用しますが、それを回避できる状況では、それ<=が望ましいです。

代替手段が必要な状況は、通常、インデックスと意味のある値にアクセスする必要がある場合に発生します(たとえば、人間にわかりやすいエラーメッセージを出力するため)。

于 2013-01-21T02:31:34.863 に答える
2

x = 1, importedChar.numItems =2, x < importedChar.numItems true;

その後x = 2, importedChar.numItems =2, x < importedChar.numItems false; 、ループを出します

私はこのように推測しています

于 2013-01-21T02:31:45.980 に答える