Flashで数字入りの画像をタイムラインに並べたい時に、一気に並べられたら便利だなーと思って作ってみた。
正確にはどっかにあるかなーと思って探してみたら、Kayacのブログが出てきたけれど、ファイルをDLできなかったので作ってみたという感じです。
/** * 選択中のアイテムをフレームに分配 */ var _doc = fl.getDocumentDOM(); var _timeline = _doc.getTimeline(); var _lib = _doc.library; function main(){ fl.outputPanel.clear(); var selectedItems = _lib.getSelectedItems(); var numItem = selectedItems.length; if(numItem == 0){ fl.trace('何も選択されていません'); } else{ _timeline.convertToKeyframes(0, numItem); fl.trace(numItem); for(var i = 0; i < numItem; i++){ var item = selectedItems[i]; var name = item.name; name.match(/[0-9]+/g); var num = parseInt(RegExp.lastMatch); if(selectedItems.length == 10 && num == 0){ num = 10; } setNumFrame(item, num); } fl.trace("処理が完了しました"); } } /** * 指定したフレームに配置 */ function setNumFrame(item, frame){ _timeline.currentFrame = frame - 1; _doc.addItem({x:0, y:0},item); _doc.selectNone(); _doc.selectAll(); var elem = _doc.selection[0]; var mat = elem.matrix; mat.tx = 0; mat.ty = 0; elem.matrix = mat; } main();
使い方
- 空のムービークリップを作成、編集モードに入る
- ライブラリのアイテムを選択(ライブラリアイテムは数値があるものとする)
- コマンドを実行
数値がフレーム番号になります。中を見れば分かるかと思いますが、0~9の時のみ、0番は10フレーム目に置きます(数値を画像にしたとき用)。数字のないものはうまく配置できません。
使用の際はバックアップなど行ったほうが良いかと思います。あんまり多いとフリーズするかもしれません。50程度は問題なく動きました。(WinXP+CS5で確認)
参考