1. 程式人生 > >NGUI和UGUI的區別

NGUI和UGUI的區別

       :十分鐘前還在想今天的知識總結點啥,偶然想起多年前某大廠有過這麼一道面試題。我自己也是有過使用這兩種UI使用經歷的(說起來挺嚇人的。。。一點不誇張,參與過的兩個手遊大ip的開發。。。一個用的NGUI, 一個用的UGUI),但你突然問我這個問題我也會好好思考一下,今天正好一起總結一下吧。下次你可以拿去吹牛bi,或者面試,都可以,再者也有利於深入對UI的瞭解。

       據說UGUI的主創是前NGUI創作成員(小道訊息,沒有深究),所以啦,天下武功出少林,五百年前大家都是一家~簡單對比一下,如圖簡單的列了一些叫法上的改變

,當然還有很多其他的不同:

           NGUI                      UGUI
錨點               Anchor           RectTransform Anchor
圖片               Sprite                      Image
文字               Label                       Text
UI面板            Panel                     Canvas
事件互動        Collider               EventSystem
單張貼圖        Texture                 RawImage

               。。。。。。

區別(重點的幾個區別,知道這些應該可以啦)

1.Label: NGUI的Label支援靜態圖文混排和文字URL超連結,UGUI不支援。

2.Anchor: UGUI  RectTransform是對NGUI的Transform+Widget+Anchor的封裝。NGUI的Anchor可以相對特定的GO,UGUI的Anchor只相對父節點。

3.圖集:NGUI是必須先打出圖集然後才能開始做介面。在製作的時候需要將圖片打入圖集後才能進行製作;UGUI:自帶的圖集打包模式,sprite packer。

4.渲染順序:NGUI可以看到原始碼,現在UGUI也開源了,分析可得NGUI會先根據Panel的depth進行排序,然後再按WidgetDepth排序。UGUI:採用層級和Z軸座標來決定渲染順序,越下面渲染在頂層。(具體的渲染順序參考本人下篇博文,UGUI渲染順序)。

           5.uGUI的Image可以使用material

           6.UGUI通過Mask來裁剪,而NGUI通過Panel的Clip

           總結:UGUI現在用的會多一些吧,和Unity一起打包出售,另外,效能也較好。但是,也忘不了用NGUI時可以隨時修改底層程式碼進行擴充套件。