如何在unity3d中为每个场景设置方向

时间:2015-12-10 21:29:44

标签: unity3d orientation

我的游戏中有4个场景 我需要在横向模式下设置场景1和场景3,在纵向模式下设置场景2和场景4 我怎样才能做到这一点? 请帮我... 我搜索了很长时间但却无法找到答案

3 个答案:

答案 0 :(得分:1)

您可以使用一个脚本来检查实际级别,并根据检索到的值更改方向。

举个例子:

function Start(){
    if (Application.LoadedLevel == 1)
       Screen.orientation = ScreenOrientation.LandscapeLeft;
    else if (Application.LoadedLevel == 2)
       Screen.orientation = ScreenOrientation.Portrait;
    //...
}

有关usageorientation values的更多信息。

答案 1 :(得分:0)

Unity使用所有级别/场景的单/唯一活动,即com.unity3d.player.UnityPlayerActivity,可以在AndroidManifest.xml文件中找到。< / p>

所以你需要做的就是在播放器设置检查器(默认方向部分)中指定方向:

enter image description here

答案 2 :(得分:0)

自Unity 5.3以来,就有一个新API用于获取当前场景。 此示例强制移动设备上的屏幕方向在称为“ GameView”的场景上为纵向,否则为横向。

using UnityEngine;
using UnityEngine.SceneManagement;

public class ScreenOrientationScript : MonoBehaviour {
  void Start () {
    if (Application.isMobilePlatform == true) {
      if (SceneManager.GetActiveScene().name == "GameView") {
        Screen.orientation = ScreenOrientation.Portrait;
      } else {
        Screen.orientation = ScreenOrientation.Landscape;       
      }
    }
  }
}

示例iOS设置以允许方向 iOS Seeting for allowed orientations