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

EditorGUILayout.LayerField

建议修改

成功!

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

关闭

提交失败

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

关闭

取消

声明

public static int LayerField(int layer, params GUILayoutOption[] options);

声明

public static int LayerField(int layer, GUIStyle style, params GUILayoutOption[] options);

声明

public static int LayerField(string label, int layer, params GUILayoutOption[] options);

声明

public static int LayerField(string label, int layer, GUIStyle style, params GUILayoutOption[] options);

声明

public static int LayerField(GUIContent label, int layer, params GUILayoutOption[] options);

声明

public static int LayerField(GUIContent label, int layer, GUIStyle style, params GUILayoutOption[] options);

参数

label 字段前面的可选标签。
layer 字段中显示的图层。
style 可选的 GUIStyle
options 一个可选的布局选项列表,用于指定额外的布局属性。此处传递的任何值都将覆盖由style定义的设置。
其他资源:GUILayout.WidthGUILayout.HeightGUILayout.MinWidthGUILayout.MaxWidthGUILayout.MinHeightGUILayout.MaxHeightGUILayout.ExpandWidthGUILayout.ExpandHeight

返回值

int 用户选择的图层。

描述

创建一个图层选择字段。


设置选定游戏对象的图层。

// Simple editor script that lets you set the layer for the
// selected GameObjects.

using UnityEngine; using UnityEditor;

public class LayerFieldExample : EditorWindow { static int selectedLayer = 0;

[MenuItem("Examples/Layer Field usage")] static void Init() { LayerFieldExample window = (LayerFieldExample)GetWindow(typeof(LayerFieldExample)); window.Show(); }

// Disable menu if we dont have at least 1 gameobject selected [MenuItem("Examples/Layer Field usage", true)] static bool ValidateSelection() { return Selection.activeGameObject != null; }

void OnGUI() { selectedLayer = EditorGUILayout.LayerField("Layer for Objects:", selectedLayer); if (GUILayout.Button("Set Layer!")) SetLayer(); }

static void SetLayer() { foreach (var go in Selection.gameObjects) go.layer = selectedLayer; } }