0

javascriptを使用したPhotoshopスクリプトを試してみたところ、switchステートメントでこの問題に遭遇しました-以下のコード:

var document = app.activeDocument;
var activeLayer = document.activeLayer;
if(activeLayer.kind == LayerKind.TEXT) {
    var textItem = activeLayer.textItem;
    var newText = "null";
    var iString = "null";
    for (var i=0; i<=720; i++) {
        switch (i)
        {
        case (i<=60):
          if (i==60) {
            iString = "00";
          } else {
           iString = i.toString();
          }
          newText = "00:" + iString;
          break;
        case (etc...):
          etc...
        break;
    }
    textItem.contents = newText;
    var saveFile = new File("/Users/Family/Desktop/wallpaper-clock/lake_" + newText);
    document.saveAs(saveFile);
}

}

これはフォトショップでエラーをスローしませんが、newText は「null」のままで、switch ステートメント内で何も設定されません。スイッチ全体が何もしていないかのようです。それは単に愚かな構文エラー (しばらくの間 Objective-C を使用していた!) またはスコープである可能性がありますか? とにかく、どんな提案も本当に役に立ちます!

ありがとう。

4

1 に答える 1

1

それは JavaScriptswitch ... caseステートメントの仕組みではありません。case式は静的に評価されます。

if基本的に、代わりにswitch次のものが必要です。

  if (i <= 60) {
   // ...
  }
  else if (i <= whatever) {
   // ...
  }
  // ... and so on ...

nullまた、ほとんどの場合、文字列ではなく定数が必要です"null"

于 2013-05-26T19:05:24.617 に答える