1.NGUI-OPTION選項中的Reset prefab toobar是NGUI事先準備好的預制體
NGUI-LABER:
創建LABEL需要選中腳本的控件,之后選擇在右邊選擇NGUI(不是unity),就可以對創建對象進行操作(如果點進去沒有顯示內容或者過少,點擊下方showall進行刷新)
Overflow:控制字體是否適應文本框大小而進行縮放
(shrink Content 自動縮放,并且自動換行
Clamp Content 剪切超出顯示范圍以外的
ResetFreely 文本框適應字體
Resetheight 可以調整寬度,高度自動適應)
Grediet 顏色漸變
Effect(NOne-無 shadow-陰影 outline-邊框)
2.Sprite-創建精靈
創建之后Atlas為圖集
Type:正常 切片(切除邊框,需要自己在右側的edit中的border進行切割,不過頂角不會變,只是中間拉伸-這種方法為九宮切圖) 瓦片(平鋪填滿) 填充(可以用純色圖片做CD效果,fill中可以選擇填充百分比,填充效果可以選擇橫向,縱向,180,360) 有利的
Flip-翻轉
3.Panel
Alpha 透明度
Clipping :指定panel的顯示范圍
(soft clip是自適應,可以自己調節
Constration but dont clip 同樣指定范圍,但是超出顯示范圍不進行剪切)
4.Button需要通過Label來創建-之后添加button功能
注意:button需要創建box-colider-以及button-script(這些在NGUI中已經有寫好的)
做出響應-在button后的onclick中添加點擊事件后做出反應的物體,并且要給method選擇觸發的方法
如果想讓同一個物體下的所有子物件都同時變化,需要添加多個UIButton
5.Atlas圖集
NGUI-OPEN-Atlas
點擊NEW進行創建一個新的圖集,之后選擇圖片(點擊圖片就可以,不過要在Unity里面點)就可以自動添加,create創建!(更新只是不用創建而已)
注意~~~:NGUI里面,對于NGUI創建的sprite進行操作的時候,也需要用內置的NGUI腳本進行添加(點擊物體,右鍵選擇添加)
6.動態字體
先創建字體集(方法一樣),創建的時候選擇dynamic動態(前兩個為靜態)
7.sprite(圖片屬性)
都在圖片的Widget中
Pivot 中心點(圖片進行旋轉等操作時候的中心點)
Deptth 1為底層,依次上升,大覆蓋小
8.Anchors(錨點)
在unfine中的4個屬性可以分別控制 該圖片距離各個的指定距邊框離(控制邊距不變)-低級的
Advance-高級的,4個屬性可以對應4個不同的物體
。
9.添加動畫-添加Tween(NGUI會自動播放)
Alpha-透明度
其中timescale屬性控制動畫播放時長(需要用腳本控制具體播放時長,一般默認勾選為1)
在進行動畫添加的時候,每一個動畫都需要重新添加一次
10.添加動畫Slider 需要將作為滑動條的圖片設置為forebackground(前景色在前)
Setp每次變化的大概百分比數
Thumb 添加一個游標
如果需要顯示當前百分比(需要添加一個label之后再onchange里面拖入選擇setcurrentpercent就可以
11.添加鼠標點擊聲音,再addconponent里面搜索play sound即可
12.文字動畫效果:再addconponent里面添加typewriter(其中fide in time可以讓文字出現浮現的效果,不是alpha那種整體浮現,而是一個字一個字的浮現,并且此屬性的值,控制的是浮現的時間延遲)
12.多選框(下拉框)
添加popup list 之后再onchanged 添加對應的按鈕(就是點擊出下拉框的那個按鈕),選擇label下面的setcurrentselect
13.toggle(單選框)
需要將單選框選擇之后的圖標自行設定(屬性中的sprite變量,并且默認初始不顯示-starting stat)
14.獲取當前操作的UI界面的交互數值(UIProgressBar為這些組件的父類,也可以直接調用父類,不過注意父類的返回值是float類型,可能用到強制轉換(string),也可能不能轉換(bool))
(就是添加的組件名字)UIPopupLisgt.current.value 表示當前操作的多選窗口的數值(注意,獲取的值,需要用trim把空格除掉)
14.切換場景(添加動畫,可以是位置交替,也可以是透明度的浮現)
添加動畫,在腳本中進行控制的語句為forwardPlay(),倒播為reverse()//play()被這兩個語句替換了
注意:如果是點擊觸發的動畫,一開始需要設置動畫不播放(在動畫腳本哪里把對號取消)
15.獲取游戲對象
Public gameobject 或者對應的類的創建,之后通過拖入即可賦值
16.添加CD效果(監聽需要寫在update里面-因為監聽沒用到NGUI的內置腳本)
看本文的sprtie精靈就可以(注意,要寫在updaye函數里面才可以不斷的刷新函數,實現CD效果)
17.文本輸入框
添加input filed就可以(但是需要讓label與文本框(sprite)的邊距一直不變(設置錨點auchors就可以))
如果想讓文本從左上角開始輸入的話,需要將label的中心點設置為左上
屬性里面可以設置輸入是不是密碼(輸入是否可見inputtype,validation為格式)
這里面用Int.Parse();來進行類型轉換
18.拖拽縮放圖片大小(以及拖動圖片移動,一般的拖拽腳本需要手動在組件里面添加)
給圖片添加drag.object() 實現移動
Drag and drop 拖拽并放下(背包功能等拖拽用)-需要復寫該父類,(當實現不同方法的時候參數surface為接觸到的物體)
給圖片下面的子sprite用NGUI添加drag.setResize可以實現圖片的縮放(但是要注意圖片需要始終對其父圖片)
19.設置scroll滾輪
不實用!!!!
創建兩個精靈,父精靈添加scroll腳本,并且將子精靈設置為前景,父精靈設置為后景(子精靈作為滾動條只可以在自己的大小范圍內移動,因此需要調節scRoll里面的size讓子精靈顯示范圍變小,同時讓子精靈實際的大小與父親一樣高)
20.Textlist
在普通label里面添加textlist組件(不是NGUI),之后需要自己寫添加內容以及控制添加的腳本(包括監聽事件等)
設置可以滾動顯示的文本(一般用于安裝,或者加載頁面的數據顯示,也可以用于聊天框)
實現聊天室功能需要手動添加腳本(提交的時候起作用,并且需要在提交之后,將輸入框清空)
Vector3.zero 物體原點(父的原點也是子的原點(就是設定的錨點,默認居中))
交換物體位置,一般通過父類定位,之后子類的位置歸于父類的原點(需要中間變量記錄另一個變量的父類信息)
21.NGUITools類可以向指定的游戲物體下面添加子物體
22.隨機添加物品只要是一個類(只是貼圖或者模型不同),就可以使用同一個Prefabs,之后根據名字在圖集里面重新賦值即可(名字存在數組中)
23.新版本NGUI
Follow 跟隨腳本
Hud動態文字(血量回復),必須放在UIroot下面(每次的文字都是創建的UIlabel,所以必須在UIroot)
Hudtext.add(每次累加數值,顏色,多久消失)//比如觸發一次為-10,觸發兩次就是-20(不實用)