年末に向けて大掃除! Flash内のお掃除tipsの紹介


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ファイルの名前」フォルダ(ダイアログが出てきて名前は適当に変えられます)を作成できます。ここにリンケージ用のシンボルファイルを集めておくと、どこにファイルがあるのか一目瞭然ですし、命名規則なんかもチーム内でコンセンサスが取れます。

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を使用すると、選択したシンボルのリンケージをライブリのディレクトリと同名のパッケージ名、シンボル名と同じクラス名に設定できます。

おわりに

大掃除してすっきりして新年を迎えましょう!