1

Flashステージでガイドを使用してオブジェクトの位置を調整しようとしていますが、ガイドをピクセルにスナップさせるにはどうすればよいですか?半分の時間で298.4、各ピクセルにうまくスナップしたいとき、つまり、のようになります。298.0

Flash CS3を使用していて、すべてのスナップオプションをオンにしています。どこかで長押しするshiftとガイドがピクセルにスナップすることを読みましたが、これは機能しないようです。

4

1 に答える 1

3

この質問はプログラミングとは関係がないため、スタックオーバーフローに関連するとは思わない人もいるかもしれません。または、かなり簡単な質問です。でもオタクになることがあります:)

とにかく、スナップの編集CMD + /(MAC)またはCtrl + /(PC))に移動して設定した場合:

  1. スナップアライン
  2. ガイドにスナップ
  3. ピクセルにスナップ

オンにしグリッドをオンにします(ドキュメント内の空のスペースを右クリックして、[グリッド]> [グリッドの表示]に移動します)。グリッドを編集して、デフォルトの18x18ピクセルではなく1x1にすることもできます。

グリッドをオンにしないと、半分のピクセル(.5)の値にスナップする可能性がありますが、これは避けたいと思います。

ピクセルアートを行う予定がある場合は、いくつかの便利なツールをお勧めします。そうでない場合は、セットアップしたレイアウトが鮮明なだけの場合、この拡張機能は便利ですが、残念ながらリンクは機能しません。

幸いなことに、それは非常に簡単に書くことができます。新しいJSFLドキュメント(たとえば、RoundPixelValues.jsfl)を作成し、それを$ Flash/ Commandsフォルダーに保存しました。Flashはアプリケーション/プログラムファイルフォルダーです。

おそらくすべてを3,4行のコードで書くことができますが、読みやすくするために10行に拡張しました。

var doc = fl.getDocumentDOM();
var timeline = doc.getTimeline();
var currentLayer = timeline.layers[timeline.currentLayer];
var currentFrame = currentLayer.frames[timeline.currentFrame];
var elements = currentFrame.elements; 
var elementsNum = elements.length;
for(var i = 0 ; i < elementsNum ; i++){
    elements[i].x = Math.round(elements[i].x);
    elements[i].y = Math.round(elements[i].y);
}

新しく作成したjsflファイルにコードを貼り付けて保存するだけです。このオプションは、コマンドメニューに表示されます。利点は、これが十分な頻度で必要な場合は、キーボードショートカットを設定することもできることです。

幸運を !

于 2009-07-20T23:25:36.523 に答える