2009/02/7

Fireworks 選択中のものをロック+現在のレイヤーの中にあるものすべてをロック解除

こんにちは。きんくまです。
私はNスペが好きでよく見ています。この間やってた「沸騰都市」シリーズは面白いですね。
前回のヨハネスブルクもよかったんですが、今回のサンパウロの回もなかなかよかったです。
「他の国がお金を右から左に流して儲けているうちに、俺達はしっかりと物を作っていたんだ」って感じの会話がありました。
南米のしかもブラジル人がいうので、「本当かよ!」とも思いたくなりますが、日本人の私的には結構うれしいセリフでした。ああいう南米の人もいるんですね。
残念なのは、前半シリーズを見逃していること。再放送やらないかな。

さて、最近コマンド作ってばっかですね。なんですが、また作ったんで紹介。
この手のTIPS的なコマンドって、プログラムを少しやった人ならすぐ作れると思うんですが、デザイナさんはなかなか難しいところがあると思うので、簡単なやつでものっけていこうかと。

それで、デザイン作業でイラレからFireworksに乗り換えたときに結構面倒くさかったのが、ロック+アンロックの作業。
メニューで用意されてないんで、いつもレイヤーパネルをポチポチしてました。
でも時間が結構かかっちゃいますよね。で、コマンドを作りました。

■選択中のものをすべてロック

fw.getDocumentDOM().lockSelection();

■現在のレイヤーの中のものすべてをアンロック(ロック解除)

var dom = fw.getDocumentDOM();
var currentLayer = dom.layers[dom.currentLayerNum];
for(var i = 0; i < currentLayer.elems.length; i++){
  dom.setElementLocked(-1, -1, i, false, false, false);
}

あとは、コマンド登録して、ショートカットわりあてれば、イラレ感覚でスムーズに作業ができるかと。

※09/09/15追記
コメントいただきまして。Fireworks8だとアンロックでエラーが出るようです。

■【Fireworks8版】現在のレイヤーの中のものすべてをアンロック(ロック解除)

var dom = fw.getDocumentDOM();
var currentLayer = dom.layers[dom.currentLayerNum];
var len = 0;
var i;
var eles = currentLayer.frames[0].elements;
for(i in eles){
  if(eles[i]){
    len += 1;
  }
}
for(var i = 0; i < len; i++){
  dom.setElementLocked(-1, -1, i, false, false, false);
}

コメント / トラックバック 3 件

  1. FS より:

    使わせていただきました。ありがとうございます。一点だけ、8だと「アンロック」でエラーになってしまいます。やはり8では無理なのでしょうか?

  2. admin より:

    確かにエラーになりますね。
    8だとデータの構造が違ってるみたいです。
    ヘルプ見つつ、Fireworks8版も作りましたので、お試しください。

  3. [...] つずつチェックするのはめんどくさいので、 この拡張はかなり助かっています。 Fireworks 選択中のものをロック+現在のレイヤーの中にあるものすべてをロック解除 « きんくまデザイン [...]

コメントはお気軽にどうぞ!(コメントのみも受け付けてます)

ページトップへ戻る