我正在尝试在 Unity3d 中开发一个 Android 应用程序,它需要屏幕在从一个场景转到另一个场景时改变方向。
我已将此代码添加到第一个场景附带的脚本中:
void Start()
{
Screen.orientation = ScreenOrientation.Portrait;
}
这是附加到第二个场景的:
void Start()
{
Screen.orientation = ScreenOrientation.Landscape;
}
我假设这会强制屏幕旋转并保持指定的旋转。但是,当我从场景 1 转到场景 2 时,它不会强制场景初始化方向,相反,如果我从第一个场景切换到第二个场景,只要我不动,屏幕就会保持纵向装置。当我向任何方向移动设备时,屏幕会变为横向并保持横向锁定。 无论出于何种原因,这在从场景 2 到场景 1 时都不适用:屏幕正确旋转,无论其先前的旋转如何。我发现这真的很令人沮丧,因为第二个场景中的 UI 设计为以横向模式查看,每次尝试更改场景时移动设备都很不方便。那么我是不是遗漏了什么或者这是一个错误?
最佳答案
改用 LandscapeLeft
或 LandscapeRight
https://docs.unity3d.com/ScriptReference/ScreenOrientation.html
关于c# - Unity3d Screen.orientation 不强制屏幕在场景初始化时旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41335386/