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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux用命令dpkg,Linux中dpkg命令起什么作用呢?

    linux用命令dpkg,Linux中dpkg命令起什么作用呢?摘要:下文讲述Linux中dpkg的功能说明,如下所示;dpkg是(Debianpackage英文的缩写)dpkg命令功能:用于管理DebianLinux中的包管理(安装,创建,管理软件)的一种实用性工具dpkg命令的语法格式:dpkg[参数]—–常用参数说明——-i:安装软件包-r:删除软件包-l:输出已安装软件包列表-L:输出于软件包关联的文件-c:输出软件包内文件列表–…

    2022年5月21日
    42
  • myeclipse下载地址_eclipse手机版

    myeclipse下载地址_eclipse手机版由于MyEclipse屏蔽了大陆ip,所以下载MyEclipse还是比较麻烦的,下面是MyEclipse7.5GA的各种版本的直接地址:1-MyEclipseEnterpriseWorkbench7.5forWindows98/2000/NT/XP/Vista(06/17/2009)MyEclipseEnterpriseWorkbench7.5GAforEc

    2022年9月25日
    4
  • java Calendar日期相减问题

    java Calendar日期相减问题两个日期相减,必须是Date型变量使用其getTime()后相减,所以如果是从Calendar获得时间,则需:Calendardate1=Calendar.getInstance();Calendardate2=Calendar.getInstance();date1.getTime().getTime()-date2.getTime().getTime();结果为

    2022年6月3日
    65
  • 微信公众号网页开发之拍照、上传本地图片

    微信公众号网页开发之拍照、上传本地图片微信网页开发JS-SDK说明文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#0绑定域名登录微信公众平台进入“公众号设置”->“功能设置”,填写“JS接口安全域名”;设置JS接口安全域名后,公众号开发者可在该域名下调用微信开放的JS接口;引入JS文件在需要调用JS接口…

    2022年5月29日
    70
  • 【媒体热点资讯】2013eoe移动开发者大会圆满落幕

    【媒体热点资讯】2013eoe移动开发者大会圆满落幕

    2021年8月26日
    75
  • 不管这些了三国杀_三国杀身份局胜率

    不管这些了三国杀_三国杀身份局胜率一、【三国杀】是一种什么卡牌游戏?如果给三国杀下一个明确的定义的话,避不开两个词“非集换式”,“桌游”。我个人对“卡牌”有三个理解,崔斯特,集换式,非集换式。崔斯特是一个说话很有腔调的性感小胡子男人。集换式,小时候的水浒卡,三国卡,注重于收藏而非游戏性(当然后来还有了战神镖)。游戏性、竞技性比较强的,游戏王,还有如日中天的炉石(似乎也不算传统意义上的了)。非集换式的,三国杀,广泛点的

    2022年7月27日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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