zoukankan      html  css  js  c++  java
  • 【Unity3D入门教程】Unity3D之GUI浅析

    前言

    一款典型的软件都会有交互界面,这些界面包括标签、按钮、拖动条等。Unity3D内置一些基本的GUI命令,可以在屏幕上绘制简单的交互控件。本文主要介绍传统的GUI。而最新加入的UGUI模块将在下一讲中介绍。

     

    1  Label控件

    Label控件可以将字符串信息展示在游戏界面上。

    GUI.Label(new Rect(10,10,100,30),"学习GUI");//将字符串显示在屏幕上

     

    2  Button控件

    Button生成一个按钮,可以检测用户鼠标点击。

    if(GUI.Button(newRect(10,200,100,30),"普通按钮"))
    {
       Debug.Log("按下了按钮。");
    }
    if (GUI.RepeatButton(new Rect(10, 250, 100,30), "连续按钮"))
    {
       Debug.Log("正在按按钮!");
    }

     

    3  TextField文本输入框

    可以输入文字等,如用户名和密码。

    editName = GUI.TextField(new Rect(150, 40,200, 30), editName, 15);
    editPassword = GUI.PasswordField(newRect(150,80,200,30),editPassword,"*"[0],15);

     

    4  Slider滑动条

    滑动条上的滑块位置可以表明对应的数值。

    toolBarValue0 = GUI.VerticalSlider(newRect(200,200,30,100),toolBarValue0,100,0);
    toolBarValue1 = GUI.HorizontalSlider(newRect(200,180,100,30),toolBarValue1,0,100);  

     

    5  GUI中绘制贴图

    GUI.DrawTexture(newRect(10,50,100,80),tex);  //绘制贴图

    运行效果


    完整脚本

    using UnityEngine;
    using System.Collections;
    
    public class StudyGUI : MonoBehaviour {
    
        public Texture tex;
        string editName;
        string editPassword;
        float toolBarValue0;
        float toolBarValue1;
    
        void Start()
        {
            editName = "请输入用户名";
            editPassword = "请输入密码";
            toolBarValue0 = 0;
            toolBarValue1 = 0;
        }
    
    
        void OnGUI()
        {
            GUI.Label(new Rect(10,10,100,30),"学习GUI"); //将字符串显示在屏幕上
          
            GUI.DrawTexture(new Rect(10,50,100,80),tex);  //绘制贴图
    
            //检测按钮
            if(GUI.Button(new Rect(10,200,100,30),"普通按钮")) 
            {
                Debug.Log("按下了按钮。");
            }
            //检测连续按钮
            if (GUI.RepeatButton(new Rect(10, 250, 100, 30), "连续按钮"))
            {
                Debug.Log("正在按按钮!");
            }
    
            //设置文本输入框
            editName = GUI.TextField(new Rect(150, 40, 200, 30), editName, 15);
            editPassword = GUI.PasswordField(new Rect(150,80,200,30),editPassword,"*"[0],15);
            //垂直和水平滑动条
            toolBarValue0 = GUI.VerticalSlider(new Rect(200,200,30,100),toolBarValue0,100,0);
            toolBarValue1 = GUI.HorizontalSlider(new Rect(200,180,100,30),toolBarValue1,0,100);     
        }
    }


    小结

    本文介绍了几种最简单的GUI控件的使用方法,其他的控件如ToolBar、ScrollView等没有介绍到,感兴趣的读者可以在掌握本文讲述的基本控件的基础上,继续深入研究其他控件。当然现在很多开发中,这种基本的GUI已经用得不多了,UGUI是新一代的交互方式,具有更加灵活的使用情境,值得继续探究。


  • 相关阅读:
    运维笔记--docker容器部署mongodb 数据持久化
    odoo开发学习-debug&开发者模式 取消
    python开发 -- 批量修改文件后缀名为指定格式
    python开发 -- 判断文件编码格式是否为UTF8 有/无BOM格式
    odoo开发学习 -- 模块目录结构
    odoo开发学习 -- Python2 or Python3?关于环境搭建的软件版本选择
    odoo开发学习 --一点题外话
    odoo各版本新特性及变更记录 --持续更新
    odoo开发学习 -- odoo12 Docker镜像制作
    odoo开发学习--saas环境搭建(一)
  • 原文地址:https://www.cnblogs.com/yanhuiqingkong/p/7770068.html
Copyright © 2011-2022 走看看