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

EditorGUI.LayerField

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

声明

public static int LayerField(Rect position, int layer, GUIStyle style = EditorStyles.popup);

声明

public static int LayerField(Rect position, string label, int layer, GUIStyle style = EditorStyles.popup);

声明

public static int LayerField(Rect position, GUIContent label, int layer, GUIStyle style = EditorStyles.popup);

参数

position 屏幕上用于该字段的矩形。
label 字段前面的可选标签。
layer 字段中显示的图层。
style 可选的GUIStyle

返回值

int 用户选择的图层。

描述

创建一个图层选择字段。


编辑器窗口中的图层字段。

using UnityEngine;
using UnityEditor;

// Change the Tag and/or the layer of the selected GameObjects.

class EditorGUITagLayerField : EditorWindow { string selectedTag = ""; int selectedLayer = 0;

[MenuItem("Examples/Tag - Layer for Selection")] static void Init() { var window = GetWindow<EditorGUITagLayerField>(); window.position = new Rect(0, 0, 350, 70); window.Show(); }

void OnGUI() { selectedTag = EditorGUI.TagField( new Rect(3, 3, position.width / 2 - 6, 20), "New Tag:", selectedTag);

selectedLayer = EditorGUI.LayerField( new Rect(position.width / 2 + 3, 3, position.width / 2 - 6, 20), "New Layer:", selectedLayer);

if (Selection.activeGameObject) { if (GUI.Button(new Rect(3, 25, 90, 17), "Change Tags")) { foreach (GameObject go in Selection.gameObjects) { go.tag = selectedTag; } }

if (GUI.Button(new Rect(position.width - 96, 25, 90, 17), "Change Layers")) { foreach (GameObject go in Selection.gameObjects) { go.layer = selectedLayer; } } } }

void OnInspectorUpdate() { Repaint(); } }