版本: Unity 6 (6000.0)
语言English
  • C#

EditorGUILayout.Popup

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交内容,但我们确实阅读了用户提出的每个更改建议,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

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 包含弹出窗口中显示的选项的数组。使用斜杠分隔子项(例如 Menu/SubMenu)。使用 null 或空字符串添加分隔符。
style 可选的 GUIStyle
options 指定额外布局属性的可选布局选项列表。此处传递的任何值都将覆盖由 style 定义的设置。
其他资源:GUILayout.WidthGUILayout.HeightGUILayout.MinWidthGUILayout.MaxWidthGUILayout.MinHeightGUILayout.MaxHeightGUILayout.ExpandWidthGUILayout.ExpandHeight

返回值

int 用户选择的选项的索引。

描述

创建一个通用的弹出选择字段。

将当前选定的索引作为参数,并返回用户选择的索引。


根据所选选项创建基元。

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; } } }