■「あれ、ここの間隔いくつだっけ?」が今すぐわかります
33

おつかれさまです。@gorolibです。

先般公開しております、撫でるようにオブジェクトの間隔を整えるスクリプトですが、一方で「あれ、ここの間隔いくつだっけ?」をお知らせする機能も必要なことがわかりました。

オブジェクト同士の間隔を測ることはとても難儀するんです。

例えばタテに並んだオブジェクトの間隔を測るためには、マジメにやると、

(1)上のオブジェクトの下端のY座標をメモる
(2)下のオブジェクトの上端のY座標をメモる
(3)2から1を引き算する

という工程が必要になります。しかし納期のせまった案件の午前3時にこんなオニ面倒なことをやるはずがなく、

・まあたぶん2ミリだろうww
・見た目オッケーならよかろうww

なんてことでつい済ましがちです(おっとこれは私の場合ですので、キチンとやっていらっしゃる方はお気をわるくなさらずに…笑)

なんならその間隔は全く無視して(以前にキチンと揃えたかもしれない努力はドブに捨て)、新たに間隔を揃えることもありましょう。まあ「撫でて揃えるスクリプト」が完成しましたので「キーオブジェクトあるある」にハマらずに揃えることもできますが、やっぱり同じことを2回やるのはムダ。

そこで、オブジェクトを2つ選んだら即座にその間隔がわかるスクリプトを開発しましたので、公開いたします。


■マイナスの間隔は表示しません


2つのオブジェクトを選んでこのスクリプトを起動すると、
・上と下のオブジェクト間隔
・左と右のオブジェクト間隔
をアラートします。

ただし、間隔が知りたいだけなのでマイナスの間隔は表示しません。

マイナスの間隔とはオブジェクトが重なっている部分のことです。

例えば左右のオブジェクトの間隔を知りたいとき、上下の間隔の情報はいりません。ヒトが「いらない」と判断する条件は、マイナスの間隔の場合です。律儀に

X: 10px y: -300px

などと表示されても困惑するばかりです…。いらない情報なのです。ちょっと起動してみましょう。

(1)上下左右ともに重なっていない場合
51
33
(2)上下のみ重なっている場合
29
34
(3)左右のみ重なっている場合
46
51
(4)上下左右ともに重なっている場合→反応しません(情報不要なので)
こんな風に必要な情報だけを表示する仕組みです。


■今回のスクリプト情報


座標で計算しなくても2つのオブジェクトの間隔がわかります。

【スクリプトファイル名】G264_MeasureSpace.jsx

【使い方】
(1)間隔を知りたい2つのオブジェクトを選択します。
(2)このスクリプトを起動します。

【仕様】
(1)左右、上下どちらの間隔も同時に表示します。
(2)左右の場合は「右のオブジェクトの左端ー左のオブジェクトの右端」です
(3)上下の場合は「上のオブジェクトの下端ー下のオブジェクトの上端」です
(4)間隔がマイナス値になる場合は表示しません。
(5)左右、上下どちらの間隔もマイナスであればアラート自体を出しません。
(6)間隔の単位は、環境設定>単位 >一般に準じています。
21



お役に立てれば幸いです!ではでは出羽の海。


(追記170920)
結果をクリップボードへコピーできるといいのでは!というコメントをいただきました。しかしXYの両方となるとクリップボードの二重化が必要ですし、ダイアログ上の数値をマウスポインタでコピーされるのがベターかと存じます…。また何かありましたらご意見いただければと思います!
34


■ダウンロードはこちらから

https://note.mu/gorolib/n/nea3f8e9dcdd9