天天看點

NGUI 官方文檔中文版1 UIRoot

UIRoot對象總是在NGUI的UI繼承結構的底部(或者 頂部,看你怎麼去看待它)

它負責管理UI界面在螢幕上的的縮放. 在NGUI系統中widget(界面控件)的坐标一般使用象素來計算,

一個800X400的widget(界面控件)将計算為800X400個象素,這是非常大的.UIRoot可以根據目前的

螢幕的高度來反向計算界面自身的大小,是以可以保持widget總是合适的大小友善操作.

NGUI 官方文檔中文版1 UIRoot
NGUI 官方文檔中文版1 UIRoot

UIRoot 中有幾種可以使用的縮放模式. 預設為PixelPerfect模式式.在這個模式下,

你的UI将總是使用螢幕象素來計算大小,比如一個300x200的widget(界面控件)在螢幕上總是顯

示為300x200螢幕象素.這樣當你的程式在低分辨率的裝置上顯示時,widget(界面控件)就太大了,

當你的程式在高分辨的裝置上顯示時,widget(界面控件)又太小了. 好的方面是使用這種模式時,不管

裝置的分辨率如何變化,你的widget(界面控件)的清晰度将保持不變.

FixedSize模式正好相反.當UIRoot使用這個縮放模式時,你的界面大小将總跟随螢幕大小變化,不管實際屏

幕大小是多少.比如一個300x200的widget(界面控件)在一個分辨率為1920x1280的螢幕上顯示為25%的螢幕大小,當

螢幕分辨率變為1280x720時這個widget(界面控件)将自動調整大小,還是為目前螢幕的25%大小.你可能會想,在

不同螢幕分辨率下界面的清晰度會有不同?這點完全不用擔心UIRoot将會使你的界面保持清晰度.選擇這個縮放模式時

别忘了要設定Manual Height參數.

FixedSizeOnMobile模式是上面兩個模式的組合.使用這個模式後,當你的程式在桌面平台釋出時将使用"PixelPerfect"模式,

當在移動平台釋出時将使用"FixedSize"模式.

如果你沒有使用FixedSize模式,請不要忘記設定 Minimum(最小)和Maximum Height(最大高度)參數.這些參數用來保證你的虛拟螢幕大小

為一個合适的值.比如你的界面設定為PixelPerfect模式,并且Minimum Height(最小高度)設定為720,那麼當你的程式在分辨率為

800x600的裝置上運作時,你的界面将表現得在"FixedSize"模式下當ManualHeight設定為720時一樣的效果.

特别提示:

UIRoot 總是縮放它自已為 2 / ScreenHeight(螢幕高度的二分之一),這裡的螢幕高度可以是實際螢幕高度(當你使用"PixelPerfect"模式時),

也可以是手動設定的高度(ManualHeight)(當你使用"FixedSize"模式時).這樣相機渲染界面時可以始終保持正交大小(Orthographic Size)為1.

如果你不需要UIRoot自動調整大小的功能,你可以删除這個元件.

類文檔

http://tasharen.com/ngui/docs/class_u_i_root.html

繼續閱讀