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

EditorGUI.ObjectField

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

已弃用 查看文档以了解新参数“allowSceneObjects”的用法。

声明

public static Object ObjectField(Rect position, Object obj, Type objType);
已弃用 查看文档以了解新参数“allowSceneObjects”的用法。

声明

public static Object ObjectField(Rect position, string label, Object obj, Type objType);
已弃用 查看文档以了解新参数“allowSceneObjects”的用法。

声明

public static Object ObjectField(Rect position, GUIContent label, Object obj, Type objType);

声明

public static Object ObjectField(Rect position, Object obj, Type objType, bool allowSceneObjects);

声明

public static Object ObjectField(Rect position, string label, Object obj, Type objType, bool allowSceneObjects);

声明

public static Object ObjectField(Rect position, GUIContent label, Object obj, Type objType, bool allowSceneObjects);

参数

position 用于该字段的屏幕上的矩形。
label 字段前的可选标签。
obj 字段显示的对象。
objType 可以分配的对象类型。
allowSceneObjects 允许分配场景对象。有关更多信息,请参见说明。

返回值

Object 用户设置的对象。

描述

创建一个对象字段。您可以通过拖放对象或使用对象选择器选择对象来分配对象。

如果allowSceneObjects参数为假,则确保对象引用存储为资产的一部分,因为资产不能存储对场景中对象的引用。
如果 ObjectField 是脚本组件的自定义编辑器的一部分,请使用 EditorUtility.IsPersistent() 检查组件是在资产上还是在场景对象上。
请参阅 Editor 类中的示例。


编辑器窗口中的对象字段。

using UnityEditor;
using UnityEngine;
using System.Collections;

//Select the dependencies of the found GameObject public class EditorGUIObjectField : EditorWindow { public GameObject obj = null; [MenuItem("Examples/Select Dependencies")] static void Init() { UnityEditor.EditorWindow window = GetWindow(typeof(EditorGUIObjectField)); window.position = new Rect(0, 0, 250, 80); window.Show(); }

void OnInspectorUpdate() { Repaint(); }

void OnGUI() { obj = (GameObject)EditorGUI.ObjectField(new Rect(3, 3, position.width - 6, 20), "Find Dependency", obj, typeof(GameObject)); if (obj) { if (GUI.Button(new Rect(3, 25, position.width - 6, 20), "Check Dependencies")) { Selection.objects = EditorUtility.CollectDependencies(new GameObject[] {obj}); }

else { EditorGUI.LabelField(new Rect(3, 25, position.width - 6, 20), "Missing:", "Select an object first"); } } } }

声明

public static void ObjectField(Rect position, SerializedProperty property);

声明

public static void ObjectField(Rect position, SerializedProperty property, GUIContent label);

声明

public static void ObjectField(Rect position, SerializedProperty property, Type objType);

声明

public static void ObjectField(Rect position, SerializedProperty property, Type objType, GUIContent label);

参数

position 用于该字段的屏幕上的矩形。
property 字段显示的对象引用属性。
objType 可以分配的对象类型。
label 要在字段前面显示的可选标签。传递 GUIContent.none 以隐藏标签。

描述

创建一个对象字段。您可以通过拖放对象或使用对象选择器选择对象来分配对象。