GUI控件的使用

今天和大家分享一下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里面的所有控件!

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值