close
我的環境配置:Windows 10、Unity 5.3.4f1。
 
 
在 Unity 中要如何去設定行動裝置螢幕的翻轉方式呢?
 
其實在 PlayerSettings > Resolution and Presentation 裡面,有一個 Default Orientation,這是用來設定行動裝置螢幕的預設翻轉方向。
 
Resolution and Presentation 的詳細位置
Edit > Project Settings > Player
image01.jpg
 
 
選擇 行動裝置選項 > Default Orientation
image02.jpg
 
 
各選項說明:
 
PS:這邊可以簡單的理解為話筒的方向。
 
Portrait 預設方向為正向,話筒在上,且不能翻轉
image03.jpg
 
 
Portrait Upside Down 預設方向為倒向,話筒在下,且不能翻轉
image04.jpg
 
 
Landscape Right 預設方向為向右倒,話筒在右,且不能翻轉
image05.jpg
 
 
Landscape Left 預設方向為向左倒,話筒在左,且不能翻轉
image06.jpg
 
 
若為 Auto Rotation,則表示可以自由翻轉,但這邊還是有四個方向可以做限制設定
image07.jpg
 
 
如果我想要讓玩家可以自由的翻轉螢幕方向,但是我又希望玩家只能夠翻轉成 正向與向左倒 的話,我就可以把 Portrait Upside Down 與 Landscape Right 關閉
image08.jpg
如此一來,玩家的螢幕就只能夠翻轉向為 正向與向左倒 了!
 
 
如果想把四個方向都關閉的話,是不行的。Unity 會提示錯誤,並且將方向預設為 Portrait
image09.jpg
 
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。
 
arrow
arrow

    岳 發表在 痞客邦 留言(0) 人氣()