第一章编辑器开发基础第一节绘制编辑器元素_4输入字段(4/7)
输入字段组
用途:数据输入和编辑
所属类:EditorGUILayout
调用位置:OnInspectorGUI()
类型支持:
方法 | 类型 | 说明 |
---|---|---|
TextField | string | 普通文本 |
FloatField | float | 浮点 |
IntField | int | 整数 |
LongField | long | 大整数 |
PasswordField | string | 密码掩码 |
Vector3Field | Vector3 | 三维向量 |
使用规范:
stringValue = EditorGUILayout.TextField("字段名", stringValue);
floatValue = EditorGUILayout.FloatField("浮点数字段", floatValue);
// 其他类型类似
特殊功能:
向量字段自带分量展开
密码字段自动显示为*
数值类型自动验证输入格式
下面是具体例子和效果图
using UnityEngine;
using UnityEditor;/// <summary>
/// 创建自定义编辑器,作用于Example组件
/// </summary>
[CustomEditor(typeof(Example))]
public class ExampleEditor : Editor
{private string stringValue = "Hello world"; // 字符串字段private float floatValue = 10f; // 浮点数字段private int intValue = 100; // 整型字段private long longValue = 100; // 长整型字段private string passwordValue = "123456"; // 密码字段// ================= 核心方法 - 绘制编辑器界面 =================public override void OnInspectorGUI(){// 1. 先绘制默认Inspector内容base.OnInspectorGUI();// 2. 依次绘制各种自定义控件InputField(); // 输入控件组 }// ================= 4. 输入字段控件组 =================private void InputField(){// 文本输入框stringValue = EditorGUILayout.TextField("String Value", stringValue);// 浮点数输入框floatValue = EditorGUILayout.FloatField("FloatValue", floatValue);// 整数输入框intValue = EditorGUILayout.IntField("IntValue", intValue);// 长整数输入框longValue = EditorGUILayout.LongField("LongValue", longValue);// 密码输入框(显示为*)passwordValue = EditorGUILayout.PasswordField("PasswordValue", passwordValue);// 2D向量字段vector2Value = EditorGUILayout.Vector2Field("Vector2Value", vector2Value);// 3D向量字段vector3Value = EditorGUILayout.Vector3Field("Vector3Value", vector3Value);// 4D向量字段vector4Value = EditorGUILayout.Vector4Field("Vector4Value", vector4Value);}}
效果图