JSFL
ステージに配置された 2 つの要素の位置を入れ替える JSFL を書いた。 var selection = fl.getDocumentDOM().selection; if (selection.length === 2) { var temp = {}; temp.x = selection[0].x; temp.y = selection[0].y; selection[0].x = selection[1].x…
ライブラリ内の 2 つのアイテムのリンケージ設定を入れ替える JSFL を書いた。 //SwapLinkageSettings var selectedItems = fl.getDocumentDOM().library.getSelectedItems(); var itemA = selectedItems[0]; var itemB = selectedItems[1]; var source; var…
JSFL を UTF-8 で書くときは BOM を付けた方がいい。 //取 fl.trace(1); BOM なし UTF-8 だと、このコードが動かなかった (Windows/Flash CS3)。 Vim で BOM を付けるには :se fenc=utf-8 bomb とする。
同一レイヤのシンボルに同じ名前を付ける JSFL を書いた。トゥイーンアニメーションしている MovieClip があるとき、キーフレーム毎に名前を付けるのが面倒なので。 /** * 同一レイヤー上のオブジェクトに同じ名前を付ける */ var instanceName = prompt("se…
「ライブラリの中でASが書いてあるやつを調べる」を勝手に改良して、ルートのタイムライン (現在開いているタイムライン) の ActionScript も出力するようにした。 また、出力された ActionScript に余計な空行が入っていた (Windows の Flash CS3) のを削除…
Vim で .as ファイルを保存時に、Flash をパブリッシュしつつブラウザをリロードするようにしてみた。元ネタは ||_koba_|| さんの発言。ちなみに Windows 限定。 手順 JSFL FileSystem API を入れる ブラウザをリロードする JScript を書く JScript を実行す…
タイムラインを Vim (Vi) のキーバインドで移動できるように設定した。Ctrl/Cmd-Shift-HJKL で選択状態のフレームが移動する。どのキーを押しているかが伝わらないデモ。 キーそれぞれに別々の JSFL コマンドを割り当てるのが面倒。関数呼び出しができたら楽…
選択されたインスタンスに名前をつけるためのプロンプトを出す JSFL を書いた。と言うのも、マウスでインスタンスを選択してから、プロパティタブのインスタンス名のテキスト入力にフォーカスするキーボードショートカットがわからなかったため。 ソースコー…
ライブラリのアイテムを Unix コマンド風に操作するエクステンションを作った。 デモとソースコード。 実装した機能は ls mv cp rm clear ファイル名のタブ補完 だけ。ディレクトリ構造を保持していないので cd は使えない。パーサらしきものは、スペースで …
Flash は、複数のレイヤーを一度にコピーすることができない。 例えば、_root に作ってしまった複数のレイヤー、複数のフレームに渡るアニメーションを、新規作成した MovieClip にコピーしたいというニーズが多々あるのに、できない。 いや、できないという…
可能な限りライブラリパネルを触らず、頻繁に編集するシンボルにアクセスする方法を模索している。思いついたアイデアは以下の 2 点。 同一の .fla ファイルを複数ウィンドウで開いておく シンボルのブックマークを作る 同一の .fla ファイルを複数ウィンド…
前エントリの派生で、Vim で編集中の JSFL ファイルを Ctrl-Enter で実行できるようにした。コマンドのテストが楽になって嬉しい。 Ctrl-Enter で JSFL を実行できるようにする JSFL の filetype を設定する。これは JavaScript のものをコピペでよい。 $VIM…
Vim で ActionScript を編集中に、Ctrl-Enter を押すとパブリッシュされるようにした。Alt-Tab で Flash IDE に移動しなくて済む。 Ctrl-Enter でパブリッシュできるようにする filetype を設定済みなことが前提条件で、 $VIM/runtime/ftplugin/actionscript…
このブログでもこれまでいくつかの JSFL を公開してきたが、一般的に (?) は MXP 形式での配布が主流らしい。 ということで、MXP の作り方を調べた。 MXP ファイルの作り方 (JSFL コマンド) JSFL ファイルを作成する。 MXI ファイルを作成する。MXI ファイル…
コレクションの開始値が 0 であったり 1 であったりと悩ましい。何が言いたいかというと、 hoge_mc.gotoAndStop(0); と書いていて、1 時間無駄にして悔しい (フレームは 1 始まり)。MovieClip のフレーム移動は、ラベルを使うのが鉄則なのだが、手を抜くとこ…
ステージ上で選択されたインスタンスに、ライブラリ内と同じ名前を付ける JSFL を書いた。 /** * 選択されたインスタンスにライブラリ内と同じ名前を付ける */ var selectedItems = fl.getDocumentDOM().selection; for (var i = 0; i < selectedItems.lengt…
デザイナから渡された .fla ファイルに「ラベルはついているが、stop() が書かれていない MovieClip」が大量にあった。これらの MovieClip をステージに配置した途端、アニメーションのループが始まってしまう。なんとしても、stop() を入れたい。 そこで、…
仕事で、ライブラリに存在する複数のビットマップのリンケージ設定をすることになった。jslf で一括処理すればよいと高をくくっていたが、ビットマップに対しては linkageExportForAS にアクセスできない現象に遭遇した。Google でリサーチしてもそれらしき…
複数の FLA ファイルを一括でパブリッシュする JSFL コマンド。共通で使用しているクラスを書き換えた時や、納品時の最終パブリッシュに使用すると便利だ。 同一ディレクトリ内の FLA ファイルをパブリッシュする //ディレクトリを指定 var dir = "file:///c…
MovieClip のリンケージを設定するときは、ライブラリを右クリックしてチェックボックスをクリックして、識別子を命名して……という手順を踏む。リンケージを設定する MovieClip の数が少数なら、その都度手動で行えばよいが、大量の、しかも似たような種類の…