Version: 2019.4
public static int Popup (int selectedIndex, string[] displayedOptions, params GUILayoutOption[] options);
public static int Popup (int selectedIndex, string[] displayedOptions, GUIStyle style, params GUILayoutOption[] options);
public static int Popup (int selectedIndex, GUIContent[] displayedOptions, params GUILayoutOption[] options);
public static int Popup (int selectedIndex, GUIContent[] displayedOptions, GUIStyle style, params GUILayoutOption[] options);
public static int Popup (string label, int selectedIndex, string[] displayedOptions, params GUILayoutOption[] options);
public static int Popup (string label, int selectedIndex, string[] displayedOptions, GUIStyle style, params GUILayoutOption[] options);
public static int Popup (GUIContent label, int selectedIndex, GUIContent[] displayedOptions, params GUILayoutOption[] options);
public static int Popup (GUIContent label, int selectedIndex, GUIContent[] displayedOptions, GUIStyle style, params GUILayoutOption[] options);

パラメーター

labelフィールドのラベル
selectedIndexフィールドに表示するオプションのインデックス
displayedOptionsポップアップで表示されるオプションの配列
styleオプションの GUIStyle
options指定してレイアウトオプションを渡すときのレイアウトオプションのリスト。ここで設定したものは style によって設定された値を上書きします。
See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.

戻り値

int ユーザーによって設定された値

説明

一般的なポップアップ選択フィールドを作成します。

現在選択されているインデックスをパラメーターとして受け取り、ユーザーによって選択されたインデックスを返します。


Create a primitive depending on the option selected.

using UnityEditor;
using UnityEngine;
using System.Collections;

// Creates an instance of a primitive depending on the option selected by the user. public class EditorGUILayoutPopup : EditorWindow { public string[] options = new string[] {"Cube", "Sphere", "Plane"}; public int index = 0; [MenuItem("Examples/Editor GUILayout Popup usage")] static void Init() { EditorWindow window = GetWindow(typeof(EditorGUILayoutPopup)); window.Show(); }

void OnGUI() { index = EditorGUILayout.Popup(index, options); if (GUILayout.Button("Create")) InstantiatePrimitive(); }

void InstantiatePrimitive() { switch (index) { case 0: GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.transform.position = Vector3.zero; break; case 1: GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); sphere.transform.position = Vector3.zero; break; case 2: GameObject plane = GameObject.CreatePrimitive(PrimitiveType.Plane); plane.transform.position = Vector3.zero; break; default: Debug.LogError("Unrecognized Option"); break; } } }