參考地址:html
http://tasharen.com/ngui/docs/class_u_i_widget.html windows
http://blog.csdn.net/u012091672/article/details/17141171ide
http://www.taikr.com/course/34 動畫
Atlasui
製做Atlas:spa
點擊NGUI--open--Atlas Maker--new--鼠標選中應該製做的圖片集合--create--存放到具體的位置.net
生成三個文件3d
1 一個圖片,全部圖片的集合(也是個圖片)orm
2 一個Prefab,上面掛載一個UIAtlas的腳本htm
3 一個材質,Prefab中的UIAtlas腳本中指定的材質
操做Atlas:
選中對應Atlas的Prefab--NGUI--open Atlas Maker
刪除不要的圖片:就會顯示當前圖集中對應的圖片集(Sprites),每一張圖片都有X
添加新的圖片:選中新的圖片,或者更新過的圖片--Add/Update
UIWidget
UIWidget是NGUI的基礎組件。
簡單來講,就是一個你能夠放在屏幕任意位置的矩形框。widget會有必定的面積(以下圖的白色框範圍),可是在運行的時候(Game View)是徹底不可見的,因此很是適合當作其餘組件的容器(讓全部的sprite或者label等以它進行各類對齊)
- 把鼠標放到矩形框裏面來移動它的位置
- 拖動藍色圓點進行縮放
- 鼠標放在藍色原點外面一些,就能夠旋轉widget。按住shift能夠微調(windows上是ctrl),默認是Pivot是中心原點
- 加入collider就可讓這個區域接受事件。能夠在這個widget上定位其餘widgets,具體查看UIAnchor
- 在給widget加了box collider以後,widget的inspector上會有一個新的選項:Box Collider。默認是勾選的,它會自動調整使得collider的size和widget的尺寸同樣(dimensions)
- 增長UIWidget的快捷鍵是alt+shift+w
- Aspect選項中有能夠根據高,或者寬做爲一個基準進行調控寬高的比例,這樣的話,以高作爲基準的時候,只能調整寬的大小
Anchor
Target:當選中UIRoot的做爲Target的時候,能夠用一張圖片做爲自適應,這樣背景圖片在任何別的分辨率都不會發生變化
Type: None,Unified,Advanced(尚未好的案例,暫且記下)
Left,Right 影響X Bottom,Top 影響Y
Target's Center: 是以中線點(中心點在不一樣的屏幕中是變化的)
適用: 解決背景,左上,右上,中間,底部具體位置的適應......
屏幕左上角圖片(地圖,或者關閉圖標)的在不一樣的屏幕上分辨率大小改變的時候,如何不添加Anchor,就會出現丟失一部分的狀況
這是由於當創建一個Sprite的時候默認是以屏幕中心點做爲本身Transform中的position中x,y,z值的依據,當屏幕大小變換的時候,由於相對於中心點的位置不變,並且Widget中的Size也沒有發生變化,這樣就會出現圖片不完整的現象
案例1:關閉按鈕(屏幕右上角)的Anchor
下圖的設置,既保證圖片的大小不會變,並且保證了圖片的相對位置不發生變化
案例2:底部居中Anchor
默認狀況下,設置一個Sprite的X爲0的話,在X方向上,不論屏幕如何變化,X軸部分始終是位於中間部分的,Y軸部分會發生變化
解決思路: 上下的話以底部爲Anchor就可以解決Y軸部分的變化,左右以中間點爲Anchor
Tween
補件動畫
使用:好比在Scene場景中點擊Label,鼠標右鍵點擊,這裏實際上是在Widget的基礎上添加的看下圖可知
Alpha,Position,Totaion,Scale,Transform比較經常使用,下面說的是Alpha的例子
From:開始點
To : 結束點
PingPong: 就是從From 到To,而後再返回來,從To到From
Animation: 點擊以後,雙擊現有的圖形,能夠改變漸變的規律
Tween Group: Ignore TimeScale 默認就好,沒有用到過,用到再說
Tip1:交互的前提
1 有碰撞體
2 有對應的腳本觸發事件
例如:當給一個Sprite添加一個Box Collider以後,選中Sprite中容易就會有如下效果
Sprite的Widget顏色變爲淺藍色,並且Widget中多了一個選項叫作Collider