1. 程式人生 > 其它 >unity設定手機橫屏方法和相關問題

unity設定手機橫屏方法和相關問題

參考文章:

Unity3D研究院之設定自動旋轉螢幕預設旋轉方向

Unity打包APK橫屏時的注意事項

-設定方法

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,如有侵權,請聯絡刪除。