從零開始學習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( )函數一樣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM