タイムラインでアニメーションを作成した後にFPSを変更しなければならない場合、いちいち各キーフレームからキーフレ-ムの間にフレームを追加していかなければなりません。面倒ですよね...。

そこでフレームシーケンスを一括で一定倍に長くするJSFLを作成してみました。

最終的には以下のようなコードになりました。

var multiplier = 2;//乗数 var tl = fl.getDocumentDOM().getTimeline(); var layerArray = tl.layers; var layerLen = layerArray.length; for(var i = 0; i < layerLen; i++){ tl.currentLayer =i; var frameArray = layerArray[i].frames; var frameLen = frameArray.length; for(var j = 0; j < frameLen; j++){ fl.trace("frame Index : "+j); if(j == frameArray[j].startFrame){ tl.insertFrames(frameArray[j].duration, false, j); frameArray = layerArray[i].frames; frameLen = frameArray.length; } } }

上記のコードを.jsflで保存し、使用したいflaファイルを開いて、メニュー>コマンド>コマンドの実行...から保存したファイルを選択するとタイムラインのばせます。

今回は増加させることしかできませんが、同じような方法で減らすこともできると思います。
また、変更前後のFPSを入力すると調整できるようなパネルにしても便利そうです。

HTML5飯