label | (可选)字段前的标签。 |
obj | 字段显示的对象。 |
objType | 可以分配的对象类型。 |
allowSceneObjects | 允许分配场景对象。有关更多信息,请参阅“说明”。 |
options | 一个可选的布局选项列表,用于指定额外的布局属性。此处传递的任何值都将覆盖 style 定义的设置。
另请参阅:GUILayout.Width、GUILayout.Height、GUILayout.MinWidth、GUILayout.MaxWidth、GUILayout.MinHeight、
GUILayout.MaxHeight、GUILayout.ExpandWidth、GUILayout.ExpandHeight。 |
Object 用户已设置的对象。
生成一个可接收任何对象类型的字段。
您可以通过拖放或使用对象选择器选择对象来分配对象。
如果对象引用作为资源的一部分进行存储,请确保 **allowSceneObjects** 参数为 false,因为资源无法存储对场景中对象的引用。
如果 ObjectField 是脚本组件的自定义编辑器的一部分,请使用 EditorUtility.IsPersistent() 检查该组件是在资源中还是在场景对象中。
有关更多信息,请参阅 Editor 类中的示例。
通过在对象字段中选择游戏对象来搜索帮助页面。
// EditorScript that quickly searches for a help page // about the selected Object. // // If no such page is found in the Manual it opens the Unity forum.
using UnityEditor; using UnityEngine; using System.Collections;
public class ExampleClass : EditorWindow { public Object source;
[MenuItem("Example/ObjectField Example _h")] static void Init() { var window = GetWindowWithRect<ExampleClass>(new Rect(0, 0, 165, 100)); window.Show(); }
void OnGUI() { EditorGUILayout.BeginHorizontal(); source = EditorGUILayout.ObjectField(source, typeof(Object), true); EditorGUILayout.EndHorizontal();
if (GUILayout.Button("Search!")) { if (source == null) ShowNotification(new GUIContent("No object selected for searching")); else if (Help.HasHelpForObject(source)) Help.ShowHelpForObject(source); else Help.BrowseURL("https://forum.unity3d.com/search.php"); } } }
You can also use the options parameter to change the look of the control. The following example changes the look of a Sprite ObjectField that is displayed with a large field format.
Two different layout options for a sprite field.
using UnityEditor; using UnityEngine;
public class SpriteExample : EditorWindow { public Sprite sprite;
[MenuItem("Example/ObjectField Sprite Example")] static void Init() { var window = GetWindowWithRect<SpriteExample>(new Rect(0, 0, 165, 100)); window.Show(); }
void OnGUI() { sprite = EditorGUILayout.ObjectField(sprite, typeof(Sprite), false, GUILayout.Height(EditorGUIUtility.singleLineHeight)) as Sprite; } }
property | 字段显示的对象引用属性。 |
objType | 可以分配的对象类型。 |
label | (可选)字段前的标签。传递 GUIContent.none 以隐藏标签。 |
options | 一个可选的布局选项列表,用于指定额外的布局属性。此处传递的任何值都将覆盖 style 定义的设置。另请参阅:GUILayout.Width、GUILayout.Height、GUILayout.MinWidth、GUILayout.MaxWidth、GUILayout.MinHeight、 GUILayout.MaxHeight、GUILayout.ExpandWidth、GUILayout.ExpandHeight。 |
生成一个可接收任何对象类型的字段。
Obsoleted. Use the overloads at the top of the page, with the allowSceneObjects parameter.