タイムラインを Vim (Vi) のキーバインドで移動できるように設定した。Ctrl/Cmd-Shift-HJKL で選択状態のフレームが移動する。どのキーを押しているかが伝わらないデモ。
キーそれぞれに別々の JSFL コマンドを割り当てるのが面倒。関数呼び出しができたら楽なのだが。
FrameMoveLeft.jsfl
//left (function () { var timeline = fl.getDocumentDOM().getTimeline(); var selectedFrames = timeline.getSelectedFrames(); if (selectedFrames[1] - 1 >= 0) { timeline.setSelectedFrames([selectedFrames[0], selectedFrames[1] - 1, selectedFrames[1]]); } })();
FrameMoveDown.jsfl
//down (function () { var timeline = fl.getDocumentDOM().getTimeline(); var selectedFrames = timeline.getSelectedFrames(); if ((selectedFrames[0] + 1) < timeline.layers.length) { timeline.setSelectedFrames([selectedFrames[0] + 1, selectedFrames[1], selectedFrames[1] + 1]); } })();
FrameMoveUp.jsfl
//up (function () { var timeline = fl.getDocumentDOM().getTimeline(); var selectedFrames = timeline.getSelectedFrames(); if ((selectedFrames[0] - 1) >= 0) { timeline.setSelectedFrames([selectedFrames[0] - 1, selectedFrames[1], selectedFrames[1] + 1]); } })();
FrameMoveRight.jsfl
//right (function () { var timeline = fl.getDocumentDOM().getTimeline(); var selectedFrames = timeline.getSelectedFrames(); timeline.setSelectedFrames([selectedFrames[0], selectedFrames[1] + 1, selectedFrames[1] + 2]); })();