文档章节

对GUI类的了解

NickHomeSelf
 NickHomeSelf
发布于 2016/08/23 00:35
字数 615
阅读 23
收藏 0

1、GUI.backgroundColor 背景颜色

1、理解:全局染色由GUI渲染的所有背景元素,得到乘以颜色。

2、代码:

void OnGUI()
    {
        GUI.backgroundColor = Color.green;
        GUI.Button(new Rect(10,110,70,30),"Botton");

    }

3、显示效果:

 

2、GUI.changed 判断改变

1、理解:返回true,如果任何控件改变了输入数据的值。

2、代码:

 string str= "修改我试试";

    void OnGUI()
    {
        //绘制一个文本字段,当被修改的时候打印消息
        str = GUI.TextField (new Rect (10, 10, 200, 20), str, 25);
        if (GUI.changed)    
        //当你修改的时候,文本的时候出现这个信息。
        Debug.Log("文本字段被修改");

 }

3、显示效果

未修改之前效果,不会打印“文本字段被修改”

修改之后的效果,打印了“文本字段被修改”

 

3、GUI.color 颜色

1、理解:全局GUI染色,将影响背景和文本颜色。

2、代码:

    void OnGUI()
    {

        //用黄色染色所有GUI元素
        GUI.color = Color.yellow;
        GUI.Label(new Rect(10, 10, 100, 20), "Hello World!");
        GUI.Box(new Rect(10, 50, 50, 50), "A BOX");
        GUI.Button(new Rect(10, 110, 70, 30), "A button");

    }

3、显示效果

 

4、GUI.contentColor 内容颜色

1、理解:全局染色由GUI渲染的所有文本,得到乘以颜色。

2、代码:

  void OnGUI()
    {

        GUI.contentColor = Color.yellow;
        GUI.Button(new Rect(512,360,70,30),"Button");

    }

 

3、显示效果

5、GUI.depth 深度

1、理解:当前执行的GUI行为的深度排序,当你有不同的脚本同时运行,设置这个值来确定排序。注意:0是最高层

2、代码:

using UnityEngine;

using System.Collections;

public class example1: MonoBehaviour
{

    public static int num = 1;
    public static Color color = Color.yellow;
    void OnGUI()
    {
        GUI.contentColor = color;
        GUI.depth = num;
        if (GUI.RepeatButton(new Rect(0, 0, 100, 100), "GoBack"))
        {
            num = 1;
            example2.num = 0;
            color = Color.yellow;
            example2.color = Color.red;
        }
    }
}
 

 

using UnityEngine;
using System.Collections;

public class example2 : MonoBehaviour
{

    public static int num = 0;
    public static Color color = Color.red;
    void OnGUI()
    {
        GUI.contentColor = color;
       
        if (GUI.RepeatButton(new Rect(50, 50, 100, 100), "GoBack"))
        {
            num = 1;
            example1.num = 0;
            color = Color.yellow;
            example1.color = Color.red;
        }

    }
}

 

3、显示效果:

 

6、GUI.enabled 是否启用?

1、理解:

判断GUI是否启用了。

设置为false   禁用所用GUI互动,所有控件将被绘制半透明,   但可以用代码控制输入。

 

2、代码:

using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour {

    string str = "修改我试试";

    void OnGUI()
    {
        GUI.enabled = false;
        //绘制一个文本字段,当被修改的时候打印消息
        str = GUI.TextField(new Rect(10, 10, 200, 20), str, 25);

        if (Input.GetKeyDown(KeyCode.A))
        {
            str = "我修改了";
        }
        if (GUI.changed)
            //当你修改的时候,文本的时候出现这个信息。
            Debug.Log("文本字段被修改");

    }
}

3、显示效果:

改为fale之前效果 :可以和用户交互

改为fale之后效果:和用户不可交互

 

© 著作权归作者所有

NickHomeSelf
粉丝 0
博文 64
码字总数 19755
作品 0
私信 提问
14.1-全栈Java笔记: Java语言中GUI到底是神马鬼?| AWT | Swing

到目前为止,我们在Java中编写的基本都是基于控制台的程序;而Java编程语言之所以如此流行的一个主要原因之一,就是因为它支持图形用户界面功能,即GUI(Graphical User Interface)。 GUI(...

全栈Java
2017/08/09
0
0
JAVAFX-5事件总结

事件监听 在RIA 或者说 桌面客户端gui android 开发中,事件的机制是必须的要学习了解的, 分类处理类型 在Java GUI 和swing中,事件通常通过实现listener的接口函数,并通过addXXXListener 或...

---dgw博客
2017/12/02
0
0
不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧

Jerry和SAP成都研究院一些新同事聊天时,谈到ABAP和SAP GUI这个话题。很多新同事在加入SAP成都之前,是做Java和C++开发的,习惯了Eclipse/IntelliJ IDEA/Visual Studio这些现代IDE,对于SAP...

技术小能手
2018/10/09
0
0
JavaSE和JavaEE的起步学习路线

Java javaSE部分 1)能够掌握DOS系统常用基本命令; 2)熟练使用eclipse编写java代码; 3)掌握常用数据结构和算法; 4)掌握常用的编程设计模式; 5)熟练使用java语言的常用对象; 6)使用java编...

Jasonisoft
2016/05/18
0
0
基于PyQt的小型应用软件开发指南

基于PyQt的小型应用软件开发指南 1. 为什么选择python,gui框架为什么选择PyQt? 开发一款软件,选择何种开发语言,选择选定语言下的开发框架,选择何种类型的数据库,选择何种并行框架等等都...

Gute_Nacht
2014/04/16
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

会用python把linux命令写一遍的人,进大厂有多容易?

看过这篇《2000字谏言,给那些想学Python的人,建议收藏后细看!》的读者应该都对一个命令有点印象吧?没错,就是 linux 中经常会用到的 ls 命令。 文章中我就提到如何提升自己的 python 能力...

上海小胖
10分钟前
1
0
HashMap的特性

一、hashmap数据结构:哈希表结构:数组+链表 hashmap调用默认构造方法会产生一个默认底层是长度为16的Entry数组,首先调用key的hasCode()方法来得到一个整数, int hash = hash(key.hashCode...

GGbird
11分钟前
2
0
第五章 spring-connet之Imports注解来龙去脉

前言 imports是一个在spring体系里非常重要的注解,基本每个Enable开头的注解必然有一个import注解。接下来我们深入研究下import的作用。看小节的同学建议先取看PostProcessorRegistrationDe...

鸟菜啊
14分钟前
1
0
CentOS部署Harbor镜像仓库

关于Harbor Harbor是用于存储和分发Docker镜像的镜像仓库服务,相比Docker Registry,Harbor在安全、标识、管理等方面做了增强,更适合企业使用; 官方网站:https://goharbor.io/ 官方开源:...

程序员欣宸
19分钟前
1
0
JavaScript调试必会的8个console方法

每个JavaScript开发者都用过console.log()来调试程序,但实际上Console对象还提供了很多其他方法可以提高调试效率。本文将介绍8个有趣的Console方法,即使JavaScript老手也不一定知道! 1、c...

汇智网教程
40分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部