我正在尝试在Unity3d中开发一个Android应用程序,当从一个场景转到另一个场景时,需要屏幕来改变方向。
我已将此代码添加到附加到第一个场景的脚本中:
void Start()
{
Screen.orientation = ScreenOrientation.Portrait;
}
这附在第二个场景中:
void Start()
{
Screen.orientation = ScreenOrientation.Landscape;
}
我认为这应该强制屏幕旋转并保持指定的旋转。然而,当我从场景1到场景2时,它不会强制场景初始化的方向,相反,如果我从第一个场景切换到第二个场景,只要我不移动,屏幕就会保持纵向装置。当我向任何方向移动设备时,屏幕会变为横向并保持锁定在横向中。 无论出于何种原因,当从场景2到场景1时,这不适用:屏幕正常旋转,无论其先前的旋转。我发现这非常令人沮丧,因为第二个场景中的UI设计为以横向模式查看,每次尝试更改场景时移动设备都不方便。我错过了什么或这是一个错误吗?
答案 0 :(得分:4)
使用LandscapeLeft
或LandscapeRight
代替
https://docs.unity3d.com/ScriptReference/ScreenOrientation.html