2016-12-26 161 views
0

我想在Unity3d中開發一個Android應用程序,當從一個場景轉到另一個場景時,需要屏幕更改方向。Unity3d Screen.orientation不強制屏幕在場景初始化時旋轉

我已經添加了此代碼連接到第一現場的劇本:

void Start() 
{ 
    Screen.orientation = ScreenOrientation.Portrait; 
} 

,這是附着在第二個場景:

void Start() 
{ 
    Screen.orientation = ScreenOrientation.Landscape; 
} 

我認爲這應該強制屏幕旋轉並保持指定的旋轉。但是,當我從場景1轉到場景2時,它不會強制場景初始化的方向,相反,如果我從第一場景切換到第二場景,只要我不移動,屏幕就會保持縱向裝置。當我向任何方向移動設備時,屏幕將變爲橫向並鎖定在橫向。 無論出於何種原因,從場景2到場景1都不適用:無論以前的旋轉,屏幕都正確旋轉。我覺得這非常令人沮喪,因爲第二個場景中的用戶界面設計爲在橫向模式下進行查看,並且每次嘗試更改場景時移動設備都很不方便。所以我錯過了什麼或者這是一個錯誤?

回答

3

使用LandscapeLeftLandscapeRight代替

https://docs.unity3d.com/ScriptReference/ScreenOrientation.html

+0

哇哦,這是簡單的:d非常感謝!任何爲什麼景觀不起作用的原因? – Kullis

+1

我的榮幸。我查看了所有返回到Unity 3.5的路徑,但我找不到對「ScreenOrientation.Landscape」枚舉的引用。增加日誌級別,因爲它可能是默認的自動旋轉。 –

+0

夠公平的。再次感謝! ;) – Kullis