フレームラベル名入力でジャンプする jsfl
- 2010年 3月 20日
- コメントを書く
タイムラインアニメーションやってると、フレームの行き来がめんどくさいですよね。
フレームラベル名入力でジャンプできる jsfl とかないかなーとググッたんですが、見つからなかったので作りました。
【使い方】
1. 下記のコードをテキストエディタにコピペして、 “jumpToFrameLabel.jsfl” という名前で保存。
// タイムラインを取得
var timeline = fl.getDocumentDOM().getTimeline();
// 選択中のレイヤーを取得
var selectedLayer = timeline.getSelectedLayers();
// ジャンプ先のフレームラベル名を入力
var targetLabel = prompt("input jump to frame label", "");
// 入力されたフレームラベルが存在するかどうかの判定用
var found = false;
// 走査するフレーム数
var l = timeline.layers[selectedLayer].frames.length;
// 目的地のフレーム番号
var n = 0;
// フレームラベルを 1 フレームずつ走査
for(var i = 0; i < l; i++) {
if(targetLabel == timeline.layers[selectedLayer].frames[i].name) {
n = i;
found = true;
break;
}
}
if(found) {
// 目的地へジャンプ
timeline.setSelectedFrames([0, n, n + 1]);
}else {
// エラー処理
fl.trace("not found");
}
2. /Users/ユーザー名/Library/Application Support/Adobe/Flash CS4/language/Configuration/Commands に入れる。
( win は Document and Setting\Application Data とかそんな感じのとこに同じような階層があります )
3. 以下実行手順
・フレームラベルのレイヤー選択
・コマンド実行

・フレームラベル名入力

・ジャンプ!
以上!
注意点は 1 フレームずつ走査するので、数 1000 フレーム超えたりしてると処理が重くなります。最悪 Flash が落ちるかも?
改善案あったら教えてくださいー。

