JSFLとは、Flash JavaScript アプリケーションプログラミングインターフェイス (JavaScript API)のこと。オーサリング環境で出来る事を自動化するマクロを書くのに便利です。JSFLを用いて、コマンドの作成やツールパネルの拡張ツール、タイムラインエフェクトを作成することが可能です。
JSFLファイルの場所<
< ブートドライブ>\Documents and Settings\< ユーザー>\Local Settings\Application Data\Adobe\Flash CS3\ja\Configuration
Macintosh HD/Users/< ユーザー名>/Library/Application Support/Adobe/Flash CS3/ja/ Configuration/
なおJSFLを試すにはProgressionに付属のJSFLコンソールを使うと便利です。
JSFLファイルの作り方
- [ウィンドウ] -> [他のパネル] -> [ヒストリ]を選択、または[Ctrl + F10]してヒストリパネルを開きます。
- オーサリング上で何か操作をすると、ヒストリパネルの内容が増えます。
- ヒストリパネルから各操作を選択してから右クリックで[コマンドとして保存]または、ヒストリパネルの右下の保存アイコンをクリックする
JSFLファイルの保存
エフェクト、拡張ツール用のスクリプトを編集する際はFlashの再起動が必要となります。その際は以下を実行します。
fl.reloadEffects(); // エフェクトをリロード fl.reloadTools(); // ツールをリロード
- コマンドの保存先
<>/Commands
- ツールパネルの拡張ツールの保存先
<>/Tools
- タイムラインエフェクトの保存先
<>/Effects
JSFLファイルの実行
<>/Commandsディレクトリに保存したJSFLファイルを実行
[コマンド]->[スクリプト名]で実行できます。またキーボードショートカットを割り当てることも可能です。
<>/CommandsディレクトリにないJSFLファイルを実行
[コマンド]->[コマンドの実行]から実行するほかに、.jsflファイルをダブルクリックすることで実行することが可能です。またスクリプト内から別のスクリプトを実行する際には以下のようにします。
fl.runScript(pathToYourJSFL); // PathToYourJSFLの部分を実行したいファイル場所に変更して下さい。
拡張ツールをツールパネルに追加して実行
ActionScriptからの実行
ActionScriptからの実行はオーサリング環境内でのみ可能となります。考えられるのはツールやコンポーネントインスペクタなどのSWFからJSFLコマンドを実行するような場合ですかね。
MMExecute(JavaScript command String);
JSFLのサンプル
adobeのサイトに公開されているサンプルがあります。
http://www.adobe.com/devnet/flash/?navID=samples
どうでもいいサンプル
alert(prompt(confirm("確認なり")));
リファレンス
以下の辺りから読んでいくと良いと思います。
普段activateの対義語としてinactivateを使っていたので、deactivateを見て改心しようと思いました。どちらが一般的なのでしょうか。
- FLASH CS3
http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/js/html/wwhelp.htm?href=00003813.html http://livedocs.adobe.com/flash/9.0_jp/main/flash_cs3_extending.pdf
- FLASH CS4
http://help.adobe.com/ja_JP/Flash/10.0_ExtendingFlash/WS5b3ccc516d4fbf351e63e3d118a9024f3f-7fa2.html http://help.adobe.com/ja_JP/Flash/10.0_ExtendingFlash/flash_cs4_extending.pdf