說起 Unity3D 開發安卓應用設置屏幕方向,大家肯定都知道在發布的時候可以設置,也就是在下圖所示的位置設置,分別表示:正向豎屏顯示、倒向豎屏顯示、右橫屏顯示、左橫屏顯示、跟隨手機自動旋轉。圖一是設置屏幕顯示的正方向,圖二是設置允許顯示的方向。
而且網上基本上也都是介紹的這種辦法。這種方法有個弊端,就是設置了橫屏或者豎屏后,那么應用在運行過程中,就是永遠是橫屏或者豎屏顯示,無法更改。
博主我這次在開發項目中,拿到的需求是有些場景下橫屏顯示,有些場景下豎屏顯示,這就太尷尬了,用上面的方法根本行不通。於是就各種查文檔,找到了下面這種方法,在 Screen 類下,有五個API是用來專門設置屏幕方向的,如下圖:
這下就好辦了,這五個API剛好是和發布設置里面一樣,一一對應。如果第一個場景我們想豎屏顯示,就可以用如下的代碼進行設置:
Screen.orientation = ScreenOrientation.Portrait; Screen.autorotateToPortrait = true; Screen.autorotateToPortraitUpsideDown = true; Screen.autorotateToLandscapeLeft = false; Screen.autorotateToLandscapeRight = false;
到了第二個場景,我們想橫屏顯示,就可以調用下面的代碼進行設置:
Screen.orientation = ScreenOrientation.AutoRotation; Screen.autorotateToPortrait = false; Screen.autorotateToPortraitUpsideDown = false; Screen.autorotateToLandscapeLeft = true; Screen.autorotateToLandscapeRight = true;
有了這五個API,屏幕畫面如何顯示,就可以任意切換了。