ドロップダウンについてです。
ドロップダウン(或いはコンボボックス)とは、よくある「ボタンを押したら選択肢が出てきて、その中から選択する」的なアレです。
目次
とりあえずの使い方
まずはドロップダウンメニューを作ります。
Hierarchyビュー>Create>UI>Dropdownを選択します。
するとCanvasの下にDropdownオブジェクトが作られます。
ドロップダウンメニューの選択結果を受け取るコードを作成し、ドロップダウンメニューに登録します。
まずは下のコードを記述します。
using UnityEngine;
using System.Collections;
public class DropdownCallback : MonoBehaviour {
public void OnValueChanged(int result)
{
// 処理
}
}
これをテキトウなオブジェクト(今回はDropdownオブジェクト)にアタッチして、コンボボックスのOnValueChangedに登録します。
イベント登録についてはUnityの新GUI、UGUIのイベント制御について - テラシュールブログ。
これで値が変更になった時にOnValueChangedが呼ばれるようになります。
カスタマイズ
要素を増やす
要素を増やすには、DropdownコンポーネントのOptionsを増やします。
上の部分が選択肢、下の部分が選択後右に出る画像です。初期設定だと右に出る程度の使い方ですが、実際はボタンの絵を差し替える勢いで使うものだと思われます。
Optionsをスクリプトで更新したい場合は、GetComponent<UnityEngine.UI.Dropdown>().options
を操作します。普通に配列なので、足したり引いたりは多分それほど難しくないと思います。
UIの表示を変える
UIの表示部分は大まかに「ボタン部分」と「選択肢の部分」の二通りに分かれます。ボタンの部分であれば、DropdownコンポーネントのImageを差し替えてやればOKです。
選択肢の部分は、Dropdown/Templateオブジェクトを操作します。
Dropdown/Templateオブジェクトが選択肢部分の背景(スクロール機能を備えています)、
選択結果のチェックを差し替えるには、Item CheckmarkのImageを差し替えます。