拡張パネルのつくりかた
FlashとかFireworksなど旧マクロメディア製品にはExtensionManagerというソフトで誰かが作った拡張機能やライブラリを入れることができます。
本体にない機能や、補助機能があるので日本ではあまり目立ってないみたいですが超便利です。
例)Fireworks用のパスファインダのパネル(機能はあるのにAIみたいなパネルがない)
ということで、メモがてら、ざっくりと概要を説明してみます。
コマンドの中身はJavaScript
MM製品のコマンドファイルやヒストリーの中身はJavaScript(と同じ文法)です。
つまりバッチ処理、マクロ的なものがJSで作れるってことです。
例)Fireworksで楕円を作成するコマンド
fw.getDocumentDOM().addNewOval({left:182, top:248, right:241, bottom:307});
自作パネルはSWFでつくれる
拡張機能はパネル部分をSWFファイルでつくることができます。
ということで、パネルとしてインストールしたSWFからコマンドを呼び出すことでオリジナルなパネルが作れます。
FlashでMacromedia(以下MM)製品の拡張パネルを作る
パネルSWFを作成してインストールすると、SWFをMMアプリ上でパネルとして起動できるようになります。
つまりFlashのボタン操作などで前述のコマンドのJSコード呼び出すようにすればOKです。
FlashのMMExecute()という関数を使って、前述のコマンドのJSコードを実行します。
// 関数仕様 MMExecute( command:String ) // 例 on(release){ MMExecute( "fw.getDocumentDOM().addNewOval({left:182, top:248, right:241, bottom:307});" ); }
これのサイズ部分とか可変にしたいところをフォームで作っておいたり
パネル上でプレビューしたりする機能をつけたりしてFireworksの機能を呼び出すことができます。
アプリのJSインターフェイスを探すのは結構ホネなので、やりたい作業をやってみて、そのコマンドを適当にコピーする感じでいいと思います。とりあえずFlashに組み込めばそれなりに何かできるので、作ってみるといいと思います。
拡張機能としてインストールする
作ったSWFを各ソフトがインストールされてるところにコピーすれば使えるようになりますが、それはとても面倒なことなのでインストーラを作ります。
MXPはMXIという設定XMLとSWFなどのファイルで構成されていて、ExtensionManagerでファイル>拡張機能の作成でつくれます。
hogehoge.mxi
hogehoge.swf
↓
hogehoge.mxp
MXIの説明はadd someさんが詳しいです
メニューに登録したり、いろいろ設定できるみたいです。
まとめとサンプル
とりあえずサンプル(Flash8:GoldenRacio.zip)置いておきます
Fireworks拡張:黄金比の矩形の生成パネル(GoldenRacio.mxp)
※ご利用は自己責任でお願いします