UIRoot

參考官網:http://www.tasharen.com/forum/index.php?topic=6710,

參考大牛:http://blog.csdn.net/onerain88/article/details/11713299

基於NGUI3.0.7

UIRoot的功能是根據屏幕的高度改變自身的localScale,從而讓子物體UI以不同方式顯示到屏幕。它有以下三種Scaling Style,Style下的參數是縮放的條件:

①PixelPerfect 像素匹配。當屏幕高度在(Minimum ~Maximum)之間時,UI以它默認的分辨率顯示;否則按它佔屏幕的比例縮放顯示。想讓圖片最完美地顯示可以選這個。

UIRoot

②FixedSize  固定大小。當屏幕高度=ManualHeight時,UI以它默認的分辨率顯示;否則按它佔屏幕的比例縮放顯示。面向各種分辨率不一的設備(或者懶)時可以選這個。

UIRoot

③FixedSizeOnMobile 在手機上FixedSize,但是在PC上PixelPerfect,可以看出它就是①和②的結合。

UIRoot


 

剛看到UIRoot的時候可能會奇怪:爲毛這貨的localScale這麼奇葩還不能修改?說好的國家標準1呢!看了上面三個UIRoot的屬性後明白了:它是根據ScalingStyle進行縮放,從而讓子物體在屏幕中正確顯示。它的縮放值是(2/ScreenHeight),其中ScreenHeight在FixedSize爲當前屏幕高度,在FixedSize爲ManualHeight。這個縮放設置是爲了Camera的Orthographic Size 保持爲1。

UIRoot

 



現在嘗試移動UIRoot下的UI,留意它的localPosition,你會發現它的原點剛好對應屏幕的中心,而每移動一單位相當於在屏幕上移動一個像素的位置UIRoot

 

PS:當選擇了FixedSize時,可以看到有兩個框:大框表示ManualHeight對應的屏幕大小,小框表示當前屏幕大小。

UIRoot

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