[Unityエディター拡張] トグル(チェックボックス)の設定

ヨメレバCSS
オリジナルCSS


※本サイトはアフィリエイトプログラムによる収益を得ています。
 ページ内のリンクがアフィリエイトリンクの場合があります。

ON/OFFを設定する場合にトグルを表示したいとき、Toggleを使います。

Toggleとあるけど見た感じチェックボックスですよねえ…

EditorGUILayoutSample obj = target as EditorGUILayoutSample;
obj.boolValue = EditorGUILayout.Toggle ("Toggle", obj.boolValue);

としてやると、

2_5_toggle

こんな感じに。

Toggleの戻りはboolで返ってきて、チェックがついていたらtrue。

よく見る、ラベルの左にチェックボックスが表示されるようにするのは、ToggleLeftを使い、

EditorGUILayoutSample obj = target as EditorGUILayoutSample;
obj.boolValue = EditorGUILayout.ToggleLeft ("Toggle", obj.boolValue);

というふうにします。

2_5_toggleleft

こうなります。

チェックボックスをグループ化したいときは、BeginToggleGroupとEndToggleGroupで囲います。

EditorGUILayoutSample obj = target as EditorGUILayoutSample;
obj.boolValue = EditorGUILayout.BeginToggleGroup ("Toggle Group", obj.boolValue);
obj.boolGroupValues[0] = EditorGUILayout.Toggle ("bool 0", obj.boolGroupValues [0]);
obj.boolGroupValues[1] = EditorGUILayout.Toggle ("bool 1", obj.boolGroupValues [1]);
obj.boolGroupValues[2] = EditorGUILayout.Toggle ("bool 2", obj.boolGroupValues [2]);
EditorGUILayout.EndToggleGroup ();

というふうに。

これで、

2_5_togglegroup

というように、3つのチェックボックスの上に統括するチェックボックスが出てきます。

一番上の「Toggle Group」のチェックを外すと、

2_5_togglegroup2

というようにすべてのチェックボックスの操作ができなくなります。

ただし、obj.boolGroupValuesの値はそのままなので、プログラム内で値の扱いに気をつけるようにしないといけないです。

スポンサーリンク
GoogleAdSence レクタングル(大)

シェアする

スポンサーリンク
GoogleAdSence レクタングル(大)