クリエイター手抜きプロジェクト[240]Adobe CS3/CS4編 Adobe JavaScriptのTips/古籏一浩

投稿:  著者:  読了時間:4分(本文:約1,600文字)


今回はAdobeのアプリケーション上で動作するJavaScriptのTipsです。ただし、旧マクロメディア系のアプリケーション(Dreamweaver, Flash, Fireworks)では使えません。

プログラムを作成していると、どんどんプログラムが長くなってしまうことがあります。多くの場合、関数化したりライブラリファイルにして見やすくすることになります。そんな時に便利なのが今回のTipsです。

Adobe系のJavaScriptではeval()と#includeを組み合わせて使って読み込んだテキストファイルをスクリプトとして実行することができます。実際のコードは以下のようになります。これは実行しているスクリプトファイルと同じ階層にあるmyLib.jsxファイルを読み込んで実行するものです。



//スクリプトのあるフォルダ
var scriptFile = new File(app.activeScript);
var n = scriptFile.parent.fsName;
var filename = n + "/myLib.jsx";
//alert(filename);
eval("#include '"+ filename.toString()+"'");

#includeではいつも同じスクリプトファイルしか読み込むことができませんが、ifやswitchを使って条件判断を行い、状況に合わせて異なるスクリプトを読み込ませることもできます。

以下のスクリプトは、ユーザーの選択に応じて1.jsxか2.jsxを読み込ませ実行するものです。

flag = confirm("1.jsxファイルを読み込みますか?");
//スクリプトのあるフォルダ
var scriptFile = new File(app.activeScript);
var n = scriptFile.parent.fsName;
if (flag == true){
#include "1.jsx"
}else{
#include "2.jsx"
}
alert(txt);


一般的には、#includeはプログラムの先頭で扱うものですが、AdobeのJavaScriptでは上記のような使い方もできます。こういう使い方がよいか? と言われると、あまりよいとは言えません。Tipsと言えばTipsなのですが。今回のTipsは多分、Adobe CS5でも動作すると思われます。


【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/ >

マシンがエンコード処理で激重で日本語も入力が大変なので今回は短めで...
予約したiPad、何日に届くのか......早く来たらいろいろ実験したいところです。

あと、引き続きハイビジョン映像素材についてアンケートを行っています。よろしければご協力ください。ちょっと予想と違った結果になってました。
< http://www.smaster.jp/Sheet.aspx?SheetID=28846 >

まだ、ぼちぼち売れたりしてます。
・Adobe Illustrator CS3 + JavaScript 自動化サンプル集 発売中
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/ >

電子書籍(EPUB)を作成したい方は参考にどうぞ。
・電子書籍作成用ページ
< http://www.openspc2.org/eBook/index.html >

毎度おなじみASCII.jpの連載もよろしく。今回はHTML5+Videoで、ニコニコ動画のような映像の上にテロップが流れてくるサンプルを作成します。
・HTML5 videoでニコニコ動画風プレーヤーを作ろう
< http://ascii.jp/elem/000/000/521/521366/ >