Flashの塗りの縁取りを一発で行うJSFL


flash-draw-line-2

Flashの塗りの周りに線で縁取りたいときがあると思いますが、
インクボトルツールで何回もクリックする手間を解消してくれるJSFLを書きました。


↑の [view raw] を右クリックで保存できます。

使い方

塗りを選択して実行すると縁取ります。

JSFLはダブルクリックで実行できます。もしくは以下公式ヘルプを参照ください。
Adobe Flash Professional * JavaScript API の操作

データモッシング動画を AviGlitch で作る 備忘録


vlcsnap-2013-10-20-20h32m22s207

データモッシング動画が作りたくなってさまよっていたら AviGlitch というRuby のライブラリが便利そうなので使ってみました。コーデックが Xvid の AVI にする必要があるようです。

AviGlitch – A Ruby library to destroy your AVI files.

以下、swf ファイルをデータモッシングする手順をメモしていきます。例によって環境はMacですが、Windowsでも同じようなことはできるはず。

  1. Swivel を使って swf -> mp4
  2. ffmpeg を使って mp4 -> avi
  3. AviGlitch で壊す
    • コマンド
    • datamosh temp.avi -o output.avi
    • 他にもrubyでコードで書いて自分の好きな感じになるように壊し方を調整する。
  4. (必要なら)ffmpeg を使って avi -> mp4
    • ニコニコ動画に上げるときなど。
    • コマンド
    • ffmpeg -i output.avi -y -f mp4 -vcodec libx264 -acodec libfaac -b 800k -ac 2 -ab 128k -r 30 output.mp4

試したもの


上のやつが下のように変換されました。楽しい!!

備忘録:Flash の キーボードショートカットの設定ファイルを共有


以下のパスの中にある mfx ファイルを他のPCへコピーすると使える

Windows XP: Hard Disk\Documents and Settings\user\Local Settings\Application Data\Adobe\Flash CS5.5\language\Configuration\Keyboard Shortcuts

Windows Vista: Hard Disk\Users\user\Local Settings\Application Data\Adobe\Flash CS5.5\language\Configuration\Keyboard Shortcuts

Macintosh: Hard Disk/Users/user/Library/Application Support/Adobe/Flash CS5.5/language/Configuration/Keyboard Shortcuts

Adobeさん、こういう情報はヘルプに書いて欲しい。

JSFLのベンチマークをとってみる


JSFLのパフォーマンスを向上させる記事があったので、自分でも試してみました。

参考:Salsa de Pixeles: Improving JSFL performance

こういう関数を作って実行してみる。xJSFLにTimer が用意されていて便利。

結果は以下のようになります。単純な計算なのであまり変わりませんね。 

Task "benchmark test" took 126 milliseconds
Task "benchmark test2" took 156 milliseconds

 

キーフレームの作成方法による違い

空のキーフレームを100個作るときの時間を計測しています。

結果は以下のようになります。
convertToKeyframesで一括で作る場合とinsertKeyframeで1フレームずつ作る場合を比較しましたが、
前者の方が後者より約45倍早くなっています。

Task "convert keyframes" took 565 milliseconds
Task "insert keyframes" took 25.0 seconds

当たり前といえば当たり前のような結果ですが、JSFL書くときは気をつけたいです。

JSFL で Underscore.js を使うテスト


JSFL の fl.runScript を使って汎用的な JS のライブラリ Underscore.js が使えるか試してみたらできたのでメモ。

ファイルの構造(xJSFLでファイルのURIを指定しているのでこんな感じ)

jsfl_underscore_file-2

※注意:underscore-min.js (圧縮されたJS)を読み込んだところ、特定のメソッドで Flash が強制終了しました…。圧縮されてない underscore.js を使うと落ちませんでした…不思議。

結果

underscore_result

使い道

あまり思い浮かびませんが、生のJS書くよりはマシなのでモチベーションがあがりますね。
他にも汎用的なJSのライブラリを読み込んだりしたらさらに便利になりそう。