私に問題があるのか、CS5 JavaScript エンジンに問題があるのかを調べています。私の Photoshop ドキュメントには、「A」と呼ばれる 1 つのレイヤーと、「グループ 1」と呼ばれるレイヤー グループがあります。
次の例を検討してください。
var Mess = "";
var Layers = app.activeDocument.layers;
alert(Layers.length);
for (n=0; n<app.activeDocument.layers.length; n++) {
Mess = Mess + app.activeDocument.layers[n].name + "\r\n";
}
alert(Mess);
これにより、長さが 2 と表示され、レイヤーが一覧表示されます。
A
グループ 1
これまでのところすべて順調です。しかし、foo ループで代わりに変数 Layers を使用すると、別の結果が得られます。
var Mess = "";
var Layers = app.activeDocument.layers;
alert(Layers.length);
for (n=0; n<Layers.length; n++) {
Mess = Mess + app.activeDocument.layers[n].name + "\r\n";
}
alert(Mess);
以前と同様に長さ 2 を取得しましたが、現在は 1 つのレイヤーのみがリストされています:
A
2 つのコード例が同じ結果を生成するべきではありませんか?!?