说起 Unity3D 开发安卓应用设置屏幕方向,大家肯定都知道在发布的时候可以设置,也就是在下图所示的位置设置,分别表示:正向竖屏显示、倒向竖屏显示、右横屏显示、左横屏显示、跟随手机自动旋转。图一是设置屏幕显示的正方向,图二是设置允许显示的方向。
而且网上基本上也都是介绍的这种办法。这种方法有个弊端,就是设置了横屏或者竖屏后,那么应用在运行过程中,就是永远是横屏或者竖屏显示,无法更改。
博主我这次在开发项目中,拿到的需求是有些场景下横屏显示,有些场景下竖屏显示,这就太尴尬了,用上面的方法根本行不通。于是就各种查文档,找到了下面这种方法,在 Screen 类下,有五个API是用来专门设置屏幕方向的,如下图:
这下就好办了,这五个API刚好是和发布设置里面一样,一一对应。如果第一个场景我们想竖屏显示,就可以用如下的代码进行设置:
Screen.orientation = ScreenOrientation.Portrait; Screen.autorotateToPortrait = true; Screen.autorotateToPortraitUpsideDown = true; Screen.autorotateToLandscapeLeft = false; Screen.autorotateToLandscapeRight = false;
到了第二个场景,我们想横屏显示,就可以调用下面的代码进行设置:
Screen.orientation = ScreenOrientation.AutoRotation; Screen.autorotateToPortrait = false; Screen.autorotateToPortraitUpsideDown = false; Screen.autorotateToLandscapeLeft = true; Screen.autorotateToLandscapeRight = true;
有了这五个API,屏幕画面如何显示,就可以任意切换了。