Fireworks 空のレイヤー(フォルダ)を削除するコマンド

2009/02/4

こんばんは。きんくまです。

FlaのCS4を少しだけいじってみました。
整列パネルのx,y,z対応とかしてみたいなーとか。ルート直下にひとつMCつくってその中に全てのパーツをいれていけば、ルート直下のMC動かすとカメラみたいにできるなーとか。読んでてよくわかんないかもしれませんが、妄想が膨らみますね。

さて、今回はFireworksです。お仕事で、PhotoshopをインポートしたFireworksファイルがあります。
それに、大量のレイヤー(フォルダ)が入っていたんですが、いろいろと削除しているうちに、空のレイヤーが大量にできてしまいました。なので、巡回して中身が空のものを削除するコマンドです。

そういや、いつも疑問に思っているんですが、
「配列を順番に回して、条件が合致しているものは配列から削除する」
場合って、カウンタを上から(配列の個数-1)まわして削除してますが、これでいいんですかね?
下から(0から)まわしていくと、削除したカウントがかぶってしまってうまくいかなかったので、こうしてるんですけど。
もっとうまいやり方とかあるんでしょうか。

//空のレイヤーを削除する
var layers = fw.getDocumentDOM().layers;
for(var i = layers.length - 1; i >= 0;  i--){
  var layer = layers[i];
  if(layer.elems.length < 1 && layer.layerType == "normal"){
    fw.getDocumentDOM().deleteLayer(i);
  }
}

自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

ページトップへ戻る