今天和大家分享一下Unity里面GUI控件的用法,这是我做的EditorWindow界面!
效果图
里面有很多GUI基本控件的使用,下面就是具体的代码!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class EditorDemo : EditorWindow
{
string myString = "Hello World";
bool groundEnabled;
bool mybool = true;
float myFloat = 1.23f;
//GUI风格 密封类
GUIStyle mystyle;
//多行文本框内容
string textAeraString = "text area\n我是多行文本框内容";
//Toolbar工具栏
int toolbarint = 0;
string[] toolbarStrings = { "Toolbar1", "Toolbar2", "Toolbar3" };
//网格选择形式
private int selectGridInt = 0;
private string[] selectionStrings = { "Grid1", "Grid2", "Grid3", "Grid4" };
//水平滑动条值
private float hSliderValue = 0.0f;
//垂直滑动条值
private float vSliderValue = 4.5f;
//滚动视图
private Vector2 scrollViewVector = Vector2.zero;
private string innerText = "I am is ScrollView";
[MenuItem("Window/My Window")]
static void Init()
{
//创建编辑器视图
EditorDemo window = (EditorDemo)EditorWindow.GetWindow(typeof(EditorDemo));
//编辑器视图的显示
window.Show();
}
//string lablename = "";
private void OnGUI()
{
//GUI里面的标签文本
GUILayout.Label("Base Setting");
mystyle = new GUIStyle();
mystyle.fontSize = 30;
//输入框名字 输入框内容
myString = EditorGUILayout.TextField("Text Field", myString);
//判断选框是否被选中 toggle组
groundEnabled = EditorGUILayout.BeginToggleGroup("Optional Setting", groundEnabled);
//toggle
mybool = EditorGUILayout.Toggle("Toggle",mybool);
//滑动条
myFloat = EditorGUILayout.Slider("Slider", myFloat, -3, 3);
EditorGUILayout.EndToggleGroup();
//button按钮
if (GUI.Button(new Rect(50, 100, 100, 50), "我是按钮"))
{
Debug.Log("OK");
}
//矩形框
GUI.Box(new Rect(160, 100, 50, 50), "我是矩形框");
//按住后会重复执行单机操作的按钮,点击按钮时,每帧执行一次
if(GUI.RepeatButton(new Rect(220, 100, 120, 50), "RepeatButton"))
{
Debug.Log("奥利给");
}
//多行输入文本框
textAeraString = GUI.TextArea(new Rect(350,100,100,50),textAeraString);
//Toolbar工具栏
toolbarint = GUI.Toolbar(new Rect(470,100,180,50),toolbarint,toolbarStrings);
//网格选择形式
selectGridInt = GUI.SelectionGrid(new Rect(50,250,100,100),selectGridInt,selectionStrings,2);
//水平滚动条 参数 位置 现在的滚动条的值 滚动条的最小值 最大值
hSliderValue = GUI.HorizontalSlider(new Rect(160,250,100,100), hSliderValue, 10.0f, 0.0f);
//垂直滚动条
vSliderValue= GUI.VerticalSlider(new Rect(270, 250, 50, 100), vSliderValue, 0.0f, 10.0f);
//ScrollView滚动视图
scrollViewVector = GUI.BeginScrollView(new Rect(340,250,200,100),scrollViewVector,new Rect(0,0,400,400));
innerText = GUI.TextArea(new Rect(0, 0, 400, 400),innerText);
GUI.EndScrollView();
}
}
总结:这只是GUI其中一些控件的使用,还有很多很多控件这里没有介绍到,个人建议可以去官网去看一下GUI的API里面的所有控件!