close
我的環境配置:Windows 10、Unity 5.3.4f1。
在 Unity 中要如何去設定行動裝置螢幕的翻轉方式呢?
其實在 PlayerSettings > Resolution and Presentation 裡面,有一個 Default Orientation,這是用來設定行動裝置螢幕的預設翻轉方向。
Resolution and Presentation 的詳細位置
Edit > Project Settings > Player

選擇 行動裝置選項 > Default Orientation

各選項說明:
PS:這邊可以簡單的理解為話筒的方向。
Portrait 預設方向為正向,話筒在上,且不能翻轉

Portrait Upside Down 預設方向為倒向,話筒在下,且不能翻轉

Landscape Right 預設方向為向右倒,話筒在右,且不能翻轉

Landscape Left 預設方向為向左倒,話筒在左,且不能翻轉

若為 Auto Rotation,則表示可以自由翻轉,但這邊還是有四個方向可以做限制設定

如果我想要讓玩家可以自由的翻轉螢幕方向,但是我又希望玩家只能夠翻轉成 正向與向左倒 的話,我就可以把 Portrait Upside Down 與 Landscape Right 關閉

如此一來,玩家的螢幕就只能夠翻轉向為 正向與向左倒 了!
如果想把四個方向都關閉的話,是不行的。Unity 會提示錯誤,並且將方向預設為 Portrait

PS:我使用 Asus 手機,版本為 Android 6.0.1,如果我關閉螢幕翻轉功能,則我在 Unity 中除了 Portrait Upside Down 這方向之外的三個方向,都是可以自由翻轉的。但我若開啟螢幕翻轉功能,則四個方向都可以自由翻轉。
Unity 也可以在 App 運作的時候,直接使用程式碼的方式去修改螢幕翻轉方向。
使用程式碼控制:
// 初始狀態, 該狀態可以自由翻轉螢幕, // 它雖然效果跟 AutoRotation 相同, // 但值卻不一樣, 所以想要自由翻轉的話, 還是使用 AutoRotation 吧! Screen.orientation = ScreenOrientation.Unknown; // 螢幕翻轉為 正向, 話筒在上, 且不能翻轉 Screen.orientation = ScreenOrientation.Portrait; // 螢幕翻轉為 倒向, 話筒在下, 且不能翻轉 Screen.orientation = ScreenOrientation.PortraitUpsideDown; // 螢幕翻轉為 向左倒, 話筒在左, 且不能翻轉, // 這邊 Landscape 與 LandscapeLeft 意思是一樣的, // 就連值也相同, 所以兩個都可以使用. Screen.orientation = ScreenOrientation.Landscape; Screen.orientation = ScreenOrientation.LandscapeLeft; // 螢幕翻轉為 向右倒, 話筒在右, 且不能翻轉 Screen.orientation = ScreenOrientation.LandscapeRight; // 可自由翻轉, 但可以設定方向的限制 Screen.orientation = ScreenOrientation.AutoRotation; // 設定是否可以 向左倒 Screen.autorotateToLandscapeLeft = true; // 設定是否可以 向右倒 Screen.autorotateToLandscapeRight = true; // 設定是否可以 正向 Screen.autorotateToPortrait = true; // 設定是否可以 倒向 Screen.autorotateToPortraitUpsideDown = true;
PS:這邊可以使用程式設定的方式,強制將四個方向都設定為 False,這樣就能使螢幕停留在最後翻轉的方向,且無法再翻轉,但前提必須為 Unknown 或 AutoRotation。
文章標籤
全站熱搜