青空の月

PHP, Unity, C#, アプリ開発関連について。

GUIの横幅をマウスのドラッグで変更する

UnityでEditor拡張機能を作っていると、LabelFieldやTextFiledなどGUIでwidthが足りなくて見きれてたりして、何て書いてあるか分からない時がある。

windowの横幅を取得してその何%とかで指定すれば割と動的にできる。

 

今回はマウスでドラッグしてTextFieldなどのGUIの横幅を調整できる様にしてみた。

 

まずこんな感じのGUIを作ってみた。下の方のヤツは左側が見切れている。

f:id:masa795:20131207233530j:plain

 

TextFieldの間にマウスを移動させるとカーソルが変わる。コレは

EditorGUIUtility.AddCursorRect(r, MouseCursor.ResizeHorizontal);

でカーソルを変更させている。

f:id:masa795:20131207233633j:plain

 

マウスを左右にドラッグさせると左側のGUIの横幅が変わる。下のやつも見えた。

f:id:masa795:20131207233830j:plain

 

 

ちょっと書くのメンドイけど動的に変えられるのはちょっと便利かも。

もっとイイ書き方もできるか。

 

 

今回使用したスクリプト。

GUIの横幅をマウスのドラッグで変更する