码迷,mamicode.com
首页 > 编程语言 > 详细

从零开始学习UNITY3D(GUI篇)

时间:2015-01-26 22:40:06      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

邻近年底,心也有些散乱,加上工作忙了一阵,在达内培训的课程也落下了不少。对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( )函数一样。

从零开始学习UNITY3D(GUI篇)

标签:

原文地址:http://www.cnblogs.com/liuruitao/p/4251494.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!