c# - Unity3d Screen.orientation 不强制屏幕在场景初始化时旋转

标签 c# android unity3d

我正在尝试在 Unity3d 中开发一个 Android 应用程序,它需要屏幕在从一个场景转到另一个场景时改变方向。

我已将此代码添加到第一个场景附带的脚本中:

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

这是附加到第二个场景的:

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

我假设这会强制屏幕旋转并保持指定的旋转。但是,当我从场景 1 转到场景 2 时,它不会强制场景初始化方向,相反,如果我从第一个场景切换到第二个场景,只要我不动,屏幕就会保持纵向装置。当我向任何方向移动设备时,屏幕会变为横向并保持横向锁定。 无论出于何种原因,这在从场景 2 到场景 1 时都不适用:屏幕正确旋转,无论其先前的旋转如何。我发现这真的很令人沮丧,因为第二个场景中的 UI 设计为以横向模式查看,每次尝试更改场景时移动设备都很不方便。那么我是不是遗漏了什么或者这是一个错误?

最佳答案

改用 LandscapeLeftLandscapeRight

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

关于c# - Unity3d Screen.orientation 不强制屏幕在场景初始化时旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41335386/

相关文章:

c# - 我怎么知道unity中的用户界面被c#代码改变了?

c# - 如何用 CI 收紧质量棘轮

c# - Visual Studio 22 多个启动项目

c# - 有效跳过二维字符串数组中的空白行

android - 通过径向 react 显示 Material 颜色

c# - 可以做些什么来防止多人黑客入侵?

c# - 如何将二维数组中的一行值复制到一维数组中?

Android:从选项菜单打开自定义弹出对话框

java - switch 语句不起作用 ("jumping around"很奇怪)

c# - 使用角色 Controller 使物体在靠近边缘时掉落