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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在unity3d中为每个场景设置方向相关的知识,希望对你有一定的参考价值。

我在游戏中有4个场景我需要在横向模式下设置场景1和场景3,在纵向模式下设置场景2和场景4我该怎么做?请帮帮我......我正在寻找很长一段时间,却找不到答案

答案

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

举个例子:

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

有关更多信息usageorientation values

另一答案

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

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

enter image description here

另一答案

从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

以上是关于如何在unity3d中为每个场景设置方向的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ApplicationTestCase 中为片段设置活动 - NoSuchFieldException:SupportLibrary v4-23.0.0 中的 mActivity

如何在统一的每个按键上重复动画(Unity3d,C#)

如何在 jquery 移动 Web 应用程序中为纵向和横向屏幕方向设置相同的图像大小?

如何在 oracle 表单中为值列表“LOV”设置方向

如何在 Unity3d 中最好地为 2D 精灵设置动画? [关闭]

学习笔记:极客学院-2. Unity3D 基础操作-Scene与场景漫游