• 从零开始学习UNITY3D(GUI篇)


    邻近年底,心也有些散乱,加上工作忙了一阵,在达内培训的课程也落下了不少。对unity3d的热度似乎也有点点下降。痛定思痛,又在淘宝上买了写蛮牛网的视频。总之不管是用任何手段都要逼着自己不要浪费了培训的那些钱。言归正传,现在开启GUI篇章。

    GUI这东西在我脑子里,自动归结为.net的用户交互控件,实际上应该也就是这个样子,类似于button,lable,textbox....的这些东西在GUI里面都有。

    这一节讲一些简单的GUI。

    先来看效果图:

    1,红框部分,button按钮的text值随着在文本框的输入文本变化而变化,始终保持一致。

    2.Toggle其实是一个toggle控件,类似于winfrom的RadioButton,它的未知随着HorizontalScrollbar控件的拖动而拖动。

    代码其实挺简单的,如下:

    using UnityEngine;
    using System.Collections;
    
    public class Gui : MonoBehaviour {
    	public GUIStyle buttonstyle;
        string text="";
    	bool result;
    	float hsliderVale;
    	// Use this for initialization
    	void Start () {
    	
    	}
    	
    	// Update is called once per frame
    	void Update () {
    	
    	}
    	void OnGUI(){
    		hsliderVale = GUI.HorizontalScrollbar (new Rect(80, 100, 100, 30),hsliderVale,2,0,10);
    		result = GUI.Toggle(new Rect(10 * hsliderVale, 170, 100, 30),result,"Toggle");
    	         	text = GUI.TextField(new Rect (310, 330, 100, 40),text);
    				GUI.Button(new Rect(180,120,100,150),"这是一个button按钮","button");
    				GUI.Button(new Rect(110,120,200,210),"这是一个button按钮","toggle");
    				GUI.Label(new Rect(0,0,200,50),"box类型的lable","box");
    				GUI.Label (new Rect (150, 110, 200, 100), "buttonstyle");
    			 if (GUI.RepeatButton(new Rect (310, 220, 200, 100),text) )
    		    {
    	     		print("用户单击了重复按钮");		
    		    }
    
    	}
    }
    

    Rect()这个定位函数被多次用到,其具体的定义如下:

    Rect(x,y,w,h)
    x表示水平距离,即以左上角为0,0点,距离左边的距离
    y表示垂直距离,距离顶部的距离
    w表示这个矩形的宽度
    h表示这个矩形的高度

    UnityGUI控制是利用一类被称为OnGUI()的函数,只要在控制脚本激活的状态下,OnGUI()函数可以在每帧调用,就像Update( )函数一样。

  • 相关阅读:
    Java NIO(六)选择器
    Java NIO(五)套接字通道
    Java NIO(四)文件通道
    Java NIO(三)通道
    Java NIO(二)缓冲区
    Java NIO(一)概述
    gcc中的内嵌汇编语言(Intel i386平台)
    一些汇编指令
    403 Forbidden解决方案
    Linux从入门到放弃
  • 原文地址:https://www.cnblogs.com/liuruitao/p/4251494.html
Copyright © 2020-2023  润新知