如何通过代码控制 phone 屏幕旋转?

How can I control phone screen rotation via code?

我想在项目的每个场景上为 phone 设置不同的屏幕方向。

在第一个场景中,我希望它只是肖像。 而在其他场景中只有LandscapeLeft或LandscapeRight。

如何通过脚本控制它?

在 unity3d 站点中,他们将示例设为:

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

但它不起作用,这样你就可以在每个场景中只给出一个可能的方向。不能同时是 LandscapeLeft 和 Portrait int。

您可以在构建设置中执行此操作。在 Player settings 下,您可以将方向设置为纵向、横向、自动旋转。在许多 Android 设备上,自动旋转被禁用。开启自动旋转的设备设置。

在每个场景的 start 方法中使用 :

声明您想要的方向
Screen.orientation = ScreenOrientation.Landscape;

我在我的游戏中就是这样做的,它适用于 IOS 和 Android 设备。 尝试使用 LandscapeNOT LandscapeLaft。 希望成功,祝你好运。

我遇到了完全相同的问题。我只想在特定场景和其余时间使用纵向模式,以使用我在“播放器设置”中设置的其他设置(对于我来说,我有左右横向)。

(上面提到的风景现在已经“过时”了)。

要解决此问题,请确保在设置中设置了允许的自动旋转方向。

然后在代码中,使用:

Screen.orientation = ScreenOrientation.Portrait;

对于你想使用纵向模式的情况。

然后,要返回默认设置,请使用:

Screen.orientation = ScreenOrientation.AutoRotation;