溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎樣進(jìn)行Unity中GUI控件的調(diào)用

發(fā)布時(shí)間:2021-11-11 09:26:02 來源:億速云 閱讀:283 作者:柒染 欄目:游戲開發(fā)

怎樣進(jìn)行Unity中GUI控件的調(diào)用,很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

GUI控件:
1.在Start中初始化,在OnGUI中調(diào)整。
2.公有變量才會出現(xiàn)在Inspector面板。
3.GUI控件的初始化和處理在OnGUI內(nèi)完成。
4.JavaScript的中文為UTF-8編碼可顯示,CSharp的中文為UTF-16編碼可顯示。

基本信息:

屏幕寬高:Screen.width Screen.height
圖片寬高:img.width img.height

一 標(biāo)簽Label
GUI.Label(Rect(x,y,width,height),<Str or Texture, such as Texture2D>);

二 按鈕Button
var buttonTexture : Texture2D;
GUI.Button(Rect(x,y,width,height),buttonTexture);
設(shè)置文字顏色:GUI.color = Color.green;
設(shè)置背景顏色:GUI.backgroundColor = Color.red;

三 輸入框TextField
message = GUI.TextField(Rect(x,y,width,height),message,size);
message = GUI.PasswordField(Rect(x,y,width,height),message,"*"[0],size);
返回值類型為String.

四 復(fù)選框與標(biāo)簽頁selectToggle and Toolbar
var barResource : String[] = ["bar1","bar2","bar3",...];
var select : int;
var state : boolean;
select = GUI.Toolbar(Rect,default,barResource);//第二個(gè)參數(shù)為默認(rèn)在第幾個(gè)標(biāo)簽上,后面為名字列表,
有幾個(gè)元素就有幾個(gè)標(biāo)簽。
獲取標(biāo)簽頁:select = GUI.Toolbar(...);
獲取復(fù)選框:state = GUI.Toggle(Rect,state,<name>);

五 滑動條Slider
var now_value : int = 0;
now_value = GUI.VerticalSlider(Rect,now_value,endvalue,startvalue)

六 滾動條ScrollView
定義Vector2變量儲存水平和垂直滾動條位置。
var scrollPosition : Vector2;
scrollPosition[0] = <水平初始位置>;
scrollPosition[1] = <垂直初始位置>;

scrollPosition = GUI.BeginScrollView(<Rect滾動視圖>,<Vector2起始位置>,
                     <Rect整體顯示范圍(大于parameter1)>,true,true);
//最后兩個(gè)參數(shù)表示是否智能顯示,即不該顯示滾動條就不顯示。

七 群組Group
群組內(nèi)采用相對坐標(biāo),且群組移動組內(nèi)物體統(tǒng)一移動。
GUI.BeginGroup(new Rect(x,y,width,height));
//在這里添加組內(nèi)成員
GUI.EndGroup();

八 窗口Window
GUI.Window(ID,Rect,window_function,name);
使用:Debug.log(<string>);可以在最下面的消息面板輸出字符串。

九 樣式表GUISkin
使用:GUI.skin = mySkin來應(yīng)用樣式表

十 布局GUILayout
GUILayout自動計(jì)算顯示區(qū)域。
大部分空間的繪制可以將GUI類換為GUILayout類。
GUILayout也可以設(shè)置布局的寬高。利用Width與Height方法。
使用:BeginHorizontal()與EndHorizontal()方法
默認(rèn)是垂直布局,因此多個(gè)布局之間默認(rèn)以垂直方式排列。
以及:BeginVertical()與EndVertical()方法
可以設(shè)定水平、垂直布局,且可以嵌套使用。

十一 鏈表ArrayList()類
使用 :var winArrayList = new Arraylist();聲明
Add方法添加一個(gè)節(jié)點(diǎn),RemoveAt方法刪除一個(gè)節(jié)點(diǎn)。
對于窗口的用法:
winArrayList.Add(Rect);
winArrayList[i] = GUILayout.Window(...);
winArrayList.RemoveAt(windowID);

一二 靜態(tài)圖片DrawTexture
var pic : Texture2D;
GUI.DrawTexture(Rect,pic);

實(shí)用的類方法width和height可以獲取圖像的實(shí)際寬高,例如pic.width

十三 2D動畫
使用Object[]類型的數(shù)組存儲動畫幀
載入動畫幀的方法:
private var animation : Object[];
animation = Resources.LoadAll("<Folder Name>");//載入 /Resouurces/<Folder Name>/ 下全部圖片
繪制動畫就是采用GUI.DrawTexture方法。


看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI