NGUI建立Camera引數為Simple 2D的UI UI物件的結構UI Root(2D)

大學霸發表於2015-03-06

NGUI建立Camera引數為Simple 2D的UI UI物件的結構UI Root(2D)

使用NGUI建立的Camera引數為Simple 2DUI,會在遊戲的場景中生成1個名為UI Root(2D)的遊戲物件,且此物件下還包含了3個其它物件:CameraAnchorPanel,如圖1-4所示。本小節會分別介紹這4個遊戲物件。

1-4  Hierarchy檢視裡檢視新建立的UI遊戲物件

1.4.1  UI Root(2D)

此遊戲物件將負責控制UI控制元件的大小。在Hierarchy檢視裡選中UI Root(2D)物件,然後在Inspector檢視裡檢視此遊戲物件上的元件,如圖1-5所示。

1-5  Inspector檢視裡檢視UI Root(2D)物件的各元件

Transform元件在Unity的遊戲物件上很常見,或者說所有的遊戲物件上都有此元件,很平常就不做介紹了。而UIRoot(Script)元件是此遊戲物件所特有的,其屬性和介紹如下:

q  Scaling Style:可以用於修改UI控制元件的縮放樣式。

提示:此屬性下有3個可選的引數:PixelPerfectFixedSizeFixedSizeOnMobiles

?  PixelPerfect,將確保UI控制元件無論在何種遊戲解析度中,始終保持指定的畫素大小。例如,指定畫素大小為300×200,那麼遊戲在320×240的解析度下,此UI控制元件就會很大,而在1920×1080的解析度下,此UI控制元件就會很小。

?  FixedSize,將確保UI控制元件無論在何種遊戲解析度中,始終於遊戲檢視保持指定的大小比例。即UI控制元件會隨著遊戲檢視的縮放,而成比例的縮放。

?  FixedSizeOnMobiles,將確保UI控制元件,在移動裝置上的時候,保持指定的大小比例;在其它裝置上時,保持指定的畫素大小。

q  Manual Height:當UI控制元件的縮放樣式為FixedSize時,此屬性就決定了UI控制元件是否需要成比例的縮放。例如,當遊戲檢視的高度大於這個屬性設定的值時,UI控制元件會成比例的放大;當高度小於這個值時,UI控制元件會成比例的縮小;

提示:UI控制元件縮放時,控制元件的寬高比是恆定的。

q  Minimum Height:當UI控制元件的縮放樣式為PixelPerfect時,此屬性就指定了遊戲檢視的最小高度,當遊戲檢視的高度值小於這個屬性的設定值時,UI控制元件就會主動成比例的縮小;

q  Maximum Height:當UI控制元件的縮放樣式為PixelPerfect時,此屬性就指定了遊戲檢視的最大高度,當遊戲檢視的高度值大於這個屬性的設定值時,UI控制元件就會主動成比例的放大;

提示:遊戲檢視的解析度比例多種多樣,而UI控制元件僅僅以高度為依據,決定是否縮放控制元件,因此就有可能導致在不同的遊戲解析度比例下,出現UI控制元件可能會被檢視“裁剪”的情況。為了應對這一情況,建議讀者使用兩種方法來避免。

方法一:將UI控制設定為正方形,即UI控制元件的寬度和高度相同;

方法二:為遊戲檢視指定遊戲時的解析度比例。指定的方法是,在Unity中單擊Edit|Project Settings|Player命令,會彈出名為PlayerSettings的對話方塊,如圖1-6所示。

1-6  PlayerSettings對話方塊

展開PlayerSettings對話方塊裡的Resolution and Presentation屬性組,設定其中的Supported Aspect Ratios屬性,如圖1-7所示。

1-7  Resolution and Presentation屬性組

Unity預設支援的遊戲檢視分別率有很多,如431610等等,如果希望遊戲僅能在分別率43下執行,就取消對其它解析度的複選。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-1450121/,如需轉載,請註明出處,否則將追究法律責任。

相關文章