首页 > 代码库 > 游戏屏幕朝向

游戏屏幕朝向

  Unity3D提供的代码级别的和屏幕相关的类主要是以下两个:

  (1)Screen.orientation 可以用于设置当前游戏的屏幕方向状态;

  (2)Input.deviceOrientation 可以获取设备屏幕方向状态。

  下面的代码根据设备的实际朝向设置App的屏幕方向:

  public void SetOrientation()    {        if (Input.deviceOrientation == DeviceOrientation.LandscapeLeft)     //处理横向两个方向旋转        {            if (Screen.orientation != ScreenOrientation.LandscapeLeft)            {                Screen.orientation = ScreenOrientation.LandscapeLeft;            }        }        else if (Input.deviceOrientation == DeviceOrientation.LandscapeRight)        {            if (Screen.orientation != ScreenOrientation.LandscapeRight)            {                Screen.orientation = ScreenOrientation.LandscapeRight;            }        }        else if (Input.deviceOrientation == DeviceOrientation.Portrait)     //处理纵向两个方向的旋转        {            if (Screen.orientation != ScreenOrientation.Portrait)            {                Screen.orientation = ScreenOrientation.Portrait;            }        }        else if (Input.deviceOrientation == DeviceOrientation.PortraitUpsideDown)        {            if (Screen.orientation != ScreenOrientation.PortraitUpsideDown)            {                Screen.orientation = ScreenOrientation.PortraitUpsideDown;            }        }    }

  也可以设置各个方向是否可以随意切换:

        // 当orientation为AutoRotation时,可以分别设置四个朝向的开关        Screen.orientation = ScreenOrientation.AutoRotation;        Screen.autorotateToLandscapeLeft = true;        Screen.autorotateToLandscapeRight = true;        Screen.autorotateToPortrait = false;        Screen.autorotateToPortraitUpsideDown = false;

  注意下面四个值只有在Screen.orientation为AutoRotation时可用。

 

游戏屏幕朝向