NGUI基本組件學習(1)-->Label、Button、Input

很久沒有更新博客了,最近在搞Unity的遊戲開發,NGUI是Unity做UI界面比較火的插件,爲了開發效率也學習學習。

NGUI-API 網址:http://tasharen.com/ngui/docs

網絡遊戲開發,少不了的就是登陸界面,那就來張效果圖吧。


剛剛學習Unity,各種不熟悉看了兩天別人的文章,大部分文章都是東拼西湊出來的,有些細節就沒有講到,或者說我不太熟悉吧。

下面說下製作登陸界面的步驟:

第一步:導入NGUI Next-Gen UI v3.0.6.unitypackage 插件包,自己可以在網上搜到,很多的


導入後的效果:菜單欄也會多出一個NGUI選項

步驟2:New Scene,刪除Main Camara,創建UI界面Panel,如下圖:


說明:點擊Open the New UI Wizard

 

說明:爲了UI界面與遊戲別的組件區分,單獨鍵一個NGUI的Layer出來

說明:點擊AddLayer,然後添加一個NGUI層,然後在選擇Layer下拉框時,就會出現紅色框NGUI的Layer了

點擊,效果圖如下:


簡單說下目錄結構:

1.在2D的根對象上有個UIRoot腳本.這個腳本會重新調整遊戲對象符合你的屏幕高度,有自動和手動選擇高度.
2.Camera對象包含Camera和UICamera腳本.UICamera腳本包含NGUI的時間系統.
3.Anchor包含UIAnchor腳本.雖然這個腳本可以附加給控件,但在這裏可以避免Windows機器上半個像素偏移的問題.
4.Panel對象有UIPanel腳本呢,UIPanel是一個容器,它將包含所有UI小部件,並負責將所包含的部件組合優化,以減少DrawCall.
注意:同樣你可能還注意到目前自動幫你選中了Panel對象,也就是說下面添加的所有部件都將在作爲它的子對象.

步驟3:組件Label、Input、Button

創建組件:



說明:

Atlas:選擇紋理資源

Font:字體資源

Template:Label、Sprite、Texture、Button、Image Button、Toggle、ProgressBar、Slider、Input、PopupList、PopupList等

pivot:軸中心點位置

注意:最後Add To  添加對應的組件中。

1》創建Label:


說明:點擊AddTo,就創建Label到Panel裏面了,下面來設置其屬性:


說明:

Transfrom:以此控制各軸顯示位置、傾斜、縮放比例(行)

UILabel:控制內容屬性,顏色,深度,佔用組件大小等

具體屬性大家都自己試下吧,現在我們就可以弄出一下的效果出來了。


2》創建Input:



說明:

Transform:同上

Box Collider:碰撞,也就是說點擊事件和Input組件,發生碰撞會產生效應,否者我們點擊Input對話框會點不中,也就不能輸入東西了

UIInput:顏色、輸入類型、鍵盤類型,校驗,限制長度等

自己設置完屬性後,就可以弄出下面的效果了。


3》創建Button和Login.cs 腳本



說明:將下面創建的Login腳本添加到Button上面,然後再按箭頭指示,將腳本拖到On Click的Notify上,然後效果如下:


說明:選擇點擊按鈕,就會效應Login對應的方法,我們選擇Login.onClick

注意:Login腳本中訪問權限爲public的方法纔會在上面的列表中,否者是不會有的。

----------------------

創建Login.cs 腳本:先在Assets目創建一個Scrpts文件夾


點擊Create,選擇C# Script,並且命令爲Login


腳本如下:

using UnityEngine;
using System.Collections;

public class Login : MonoBehaviour {

	public UIInput username;
	public UIInput password;

	public void Awake(){
		//組件的獲取

		//1.獲取對應的對象名字
		GameObject uname = GameObject.Find("account_Input");
		//2.然後根據對象名字,獲取其中對應的組件
		username = uname.GetComponent<UIInput>();

		password=GameObject.Find("password_Input").GetComponent<UIInput>();
	}

	public void Start(){

	}

	public void onClick(){
		Debug.Log ("Login with UserName=  "+username.value+",password="+password.value);
	}
}


最後的效果,就和前面一樣了


點擊button的時候,就會打印出你輸入的account和password。


說明:其實這個demo是先弄好,然後再倒着來講的。沒有實際一步一步來進行,然後講解。如果不是很清楚的話,可能先全文看一遍,然後在重上到下來,沒有理解就再看後面的部分。


相關文章:

http://blog.csdn.net/kuloveyouwei/article/details/23740893

http://blog.1vr.cn/?p=604







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章