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

时间:2016-12-26 19:15:55

标签: c# android unity3d

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

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

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

这附在第二个场景中:

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

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

1 个答案:

答案 0 :(得分:4)

使用LandscapeLeftLandscapeRight代替

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