unity設定手機橫屏方法和相關問題
參考文章:
-設定方法
android或ios專案基本要設定螢幕旋轉方向,常見的是鎖定橫屏。
設定螢幕方向的地方是在:File -> Building Settings -> Player Settings -> (對應平臺下)Resolution and Presentation -> Default Orientation選項。
Portrait:豎屏
Portrait Upside Down:豎屏,手機倒過來
Landscape Right:橫屏,螢幕在home鍵右邊
Landscape Left:橫屏,螢幕在home鍵左邊(比較常用)
Auto Rotation:自動旋轉螢幕
Auto Rotation有額外選項,可以只勾選某些方向,根據個人需求來指定旋轉方向。
-相關問題
1、如果設定了橫屏的安卓專案結合了安卓開發技術的,需要在安卓的AndroidManifest.xml檔案中, application/activity下宣告為橫屏,加上一句:android:screenOrientation="landscape"(與unity設定對應的方向)。否則會黑屏,並且不報錯。
2、當專案需要兩個或以上指定的旋轉方向時,設定為Auto Rotation,並且勾選需要的方向。如果是啟用左右橫屏,unity預設方向是Landscape Left。
3、在2的基礎上,即在自動旋轉大於一個方向的基礎上,如果策劃還要求指定預設的方向,以改進手遊玩家體驗,這就要程式碼輔助。比如要求螢幕為左和右兩個方向的橫屏,預設螢幕在右邊的橫屏,有兩種方案:
(1)設定為Auto Rotation,勾選左右橫屏,然後在初始化的腳本里的awake或start函式裡設定和啟用方向。但是這有一個問題,因為unity啟動畫面是在指令碼的Awake之前執行的,所以啟動畫面使用的ProjectSetting裡的設定,即Auto Rotation的Landscape Left,導致啟動畫面是在左邊的橫屏,與其他場景不一致。如果預設是在左邊,這還可以。
void Awake() { //設定螢幕正方向在Home鍵右邊 Screen.orientation = ScreenOrientation.LandscapeRight; } void Start () { //設定螢幕自動旋轉, 並置支援的方向 Screen.orientation = ScreenOrientation.AutoRotation; Screen.autorotateToLandscapeLeft = true; Screen.autorotateToLandscapeRight = true; Screen.autorotateToPortrait = false; Screen.autorotateToPortraitUpsideDown = false; }
(2) 設定為Landscape Right,再用程式碼設定和啟用方向。由於啟動畫面讀取了設定好的Landscape Right方向,然後我們才把方向設定回來,螢幕方向保持一致,這樣就完美解決了問題!
void Start ()
{
//設定螢幕自動旋轉, 並置支援的方向
Screen.orientation = ScreenOrientation.AutoRotation;
Screen.autorotateToLandscapeLeft = true;
Screen.autorotateToLandscapeRight = true;
Screen.autorotateToPortrait = false;
Screen.autorotateToPortraitUpsideDown = false;
}
本文轉自 https://blog.csdn.net/haobaworenle/article/details/54097713,如有侵權,請聯絡刪除。