2015年もついに終わりに近づいていて、今年の大掃除ももうすぐ始めなきゃ―。と思う時期ですね。今日のFlash Advent CalenderではFlashファイル内のお掃除・お片づけにまつわるtipsを紹介します!
使用していないシンボルが増えてきた
- ライブラリ内を整頓したいけど、どれを削除していいかわからない><
使用数が0のアイテムは使用していないので、今後使われることがないなら削除しましょう。
- 使用数0のアイテムばかりでゴミ屋敷になっている
ライブラリパネルの右上にある小さな設定ボタンを押しましょう。ボタンを押すとメニューが表示されます。その中にある[未選択のアイテムの選択]を選択すると、「リンケージされていない」「メインタイムラインレイヤーから辿れない」アイテムが選択されます。その状態でデリートキーを押すと一括削除できます。
タイムラインレイヤーが汚い
作業に夢中になっていると「レイヤー1」「レイヤー2」...etc なんてレイヤーが増えていて何が何だかわからなくなることはありませんか? 以下のJSFLは空のレイヤーを片付けや色付けなどをしてくれる便利なJSFLです。「レイヤーに配分」(シンボルを選択後右クリック or [Command]+[Shift]+[D])と合わせて使うと便利です。
リンケージアイテムがどこに行ったのかわからなくなる
特に大量のFlashファイルを扱っている場合、ライブラリパネルからリンケージされているアイテムを探すのは困難ですから、わからなくなる前に最低限リンケージはシンボルと同名にする。複数人・複数個のFlashファイルを扱う場合はFlashファイル名と同名のパッケージ名をつけ、パッケージ名と同階層のディレクトリに分けるのがおすすめです(後者はリンケージ被りも防げますね)。
ネストされているフォルダを作るのがFlashでは面倒くさいのですが、上記のJSFLを叩くと「project/assets/Flashファイルの名前」フォルダ(ダイアログが出てきて名前は適当に変えられます)を作成できます。ここにリンケージ用のシンボルファイルを集めておくと、どこにファイルがあるのか一目瞭然ですし、命名規則なんかもチーム内でコンセンサスが取れます。
- 階層・シンボル名と同名のリンケージを作成する.jsfl (Flash ProでJSFLを使って指定フォルダ以下のファイルをライブラリにimport - itouhiroはてなブログ を参考にさせていただきました。 )
var items = fl.getDocumentDOM().library.getSelectedItems();
for(var i=0; i<items.length; i++){
if(items[i].itemType == 'folder') continue;
//名前から拡張子を除く
var symbolName = items[i].name;
if(items[i].name.match(/\./)){
symbolName = items[i].name.slice(0,items[i].name.lastIndexOf('.'));
}
//リンケージ「ActionScript用に書きだし」「最初のフレームに書き出し」
items[i].linkageExportForRS = false;
items[i].linkageExportForAS = true;
items[i].linkageExportInFirstFrame = true;
//fl.trace(items[i].name);
symbolName = symbolName.replace(/\s/g,"_"); // スペースをアンダーバーに置換
symbolName = symbolName.replace(/\//g,"."); // ディレクトリをパッケージ名として置換
items[i].linkageClassName = symbolName;
}
上記JSFLを使用すると、選択したシンボルのリンケージをライブリのディレクトリと同名のパッケージ名、シンボル名と同じクラス名に設定できます。
おわりに
大掃除してすっきりして新年を迎えましょう!