【Unity3D入门教程】Unity3D之GUI浅析「建议收藏」

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

一款典型的软件都会有交互界面,这些界面包括标签、按钮、拖动条等。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);  //绘制贴图

运行效果

【Unity3D入门教程】Unity3D之GUI浅析「建议收藏」

完整脚本

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是新一代的交互方式,具有更加灵活的使用情境,值得继续探究。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/169343.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • HashMap_java的hashcode方法

    HashMap_java的hashcode方法MurmurHash可以将一个字符串hash出一个碰撞率极低的long型数值,且效率很高packagecom.trs.util;importjava.nio.ByteBuffer;importjava.nio.ByteOrder;/***根据字符串生成long型数据id*@authoryush*2018年11月6日上午11:02:00*/publicclassAssetKeyU…

    2022年10月19日
  • DirectX修复工具下载(exagear模拟器数据包在哪里)

    DirectX修复工具通用数据包2019Q3版大小:135MB/7z格式压缩下载地址1:https://download.csdn.net/download/vbcom/11692840说明:本资源中包含DirectX修复工具数据包2019Q3版,适合已经有主程序而缺少数据包的用户使用。本数据包为通用数据包,适合各种版本的Direc…

  • vue页面缓存问题_vue项目自动打开浏览器设置

    vue页面缓存问题_vue项目自动打开浏览器设置目录1.什么是浏览器缓存2.浏览器缓存类型:3.浏览器缓存的优势与劣势:4.浏览器缓存机制5.如何清除浏览器缓存在代码更新发布后,都会要求运营人员在访问网址时清除下本地缓存,防止万一掉坑那问题就来了:每次清缓存很麻烦,怎样就不需要他们每次去手动清缓存呢?1.什么是浏览器缓存浏览器缓存(BrowserCaching)是为了节约网络的资源加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页

    2022年10月20日
  • 电脑word文档图标变了怎么办_word图标变成白纸

    电脑word文档图标变了怎么办_word图标变成白纸当我们在使用word文档的时候,可能会遇到word文档图标显示异常的情况,那么这个时候我们该怎么办?下面是学习啦小编整理的word文档图标显示异常的解决方法,供您参考。word文档图标显示异常的解决方法一点击“开始”菜单,输入“运行”并搜索。点击“运行”。输入regedit,然后点击确定。双击打开HKEY_CLASSES_ROOT。找到.docx,鼠标右击,选择删除。用同样的方法依次打开HKEY…

  • Matlabinf_matlab怎么定义函数

    Matlabinf_matlab怎么定义函数函数功能在图像处理中,该函数用于获取一张图片的具体信息。这些具体信息包括图片的格式、尺寸、颜色数量、修改时间等等。在matlab的命令窗口中键入docimfinfo或者helpimfinfo都可以得到该函数的帮助信息。调用方式info=imfinfo(filename,fmt)info=imfinfo(filename)程序示例  下面这个程序用于获取位图相关信息。该函数获取位图文件头信…

  • 局部静态变量的定义_C语言强制转换数据类型

    局部静态变量的定义_C语言强制转换数据类型C语言中定义的静态变量存放在栈区,动态分配的内存空间位于堆区。这题答案为F为大家科普一下知识C语言中局部变量存在栈里,全局变量存静态存储区。局部变量在栈空间上分配,这个局部变量所在的函数被多次调用时,每次调用这个局部变量在栈上的位置都不一定相同。局部变量也可以在堆上动态分配,但是记得使用完这个堆空间后要释放之。全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序行完毕就释放。在程序执行过程中它们占据固定的存储单元,而不动态地进行分配和释放;…

    2022年10月30日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号