読者です 読者をやめる 読者になる 読者になる

pblog

pplog.net を作っている @ppworks こと越川直人(Koshikawa Naoto)のブログ

JSFL入門メモ

FLASH ActionScript3 JSFL

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ファイルの作り方

  1. [ウィンドウ] -> [他のパネル] -> [ヒストリ]を選択、または[Ctrl + F10]してヒストリパネルを開きます。
  2. オーサリング上で何か操作をすると、ヒストリパネルの内容が増えます。
  3. ヒストリパネルから各操作を選択してから右クリックで[コマンドとして保存]または、ヒストリパネルの右下の保存アイコンをクリックする

JSFLファイルの保存

エフェクト、拡張ツール用のスクリプトを編集する際はFlashの再起動が必要となります。その際は以下を実行します。

fl.reloadEffects(); // エフェクトをリロード
fl.reloadTools(); // ツールをリロード
  • コマンドの保存先
<>/Commands
  • ツールパネルの拡張ツールの保存先
<>/Tools
  • タイムラインエフェクトの保存先
<>/Effects

また、JSFLファイルが参照するXMLやPNGなどがあれば同じディレクトリへ保存します。

JSFLファイルの実行

<>/Commandsディレクトリに保存したJSFLファイルを実行

[コマンド]->[スクリプト名]で実行できます。またキーボードショートカットを割り当てることも可能です。

<>/CommandsディレクトリにないJSFLファイルを実行

[コマンド]->[コマンドの実行]から実行するほかに、.jsflファイルをダブルクリックすることで実行することが可能です。またスクリプト内から別のスクリプトを実行する際には以下のようにします。

fl.runScript(pathToYourJSFL); // PathToYourJSFLの部分を実行したいファイル場所に変更して下さい。
拡張ツールをツールパネルに追加して実行
  1. <>/ToolsディレクトリにJSFLファイルを追加します。ツールの場合は関連するXMLやPNGファイルも忘れずに追加します。
  2. [編集(Flash)]->[ツールパネルのカスタマイズ]からツールを追加します。
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