Это то, что вы должны сделать:
.Кнопка к портрету.
. Когда вы решите вернуться к авторотации, сделайте это.
. Прочитайте текущую ориентацию (DeviceOrientation
). Преобразуйте его в ScreenOrientation
, затем назначьте его ориентации экрана.
Примечание: Вы не должны читать текущую ориентацию экрана с Screen.orientation
. Это делается с помощью Input.deviceOrientation
.
Эти три шага положить в коде:
Screen.orientation = ScreenOrientation.Portrait;
Screen.orientation = ScreenOrientation.AutoRotation;
Screen.orientation = DeviceToScreenOrientation(Input.deviceOrientation);
DeviceToScreenOrientation
функция, которая преобразует Input.deviceOrientation
/DeviceOrientation
перечисление в Screen.orientation
/ScreenOrientation
ENUM.
ScreenOrientation DeviceToScreenOrientation(DeviceOrientation dvceOr)
{
ScreenOrientation scrOr = ScreenOrientation.Unknown;
switch (dvceOr)
{
case DeviceOrientation.Unknown:
scrOr = ScreenOrientation.Unknown;
break;
case DeviceOrientation.Portrait:
scrOr = ScreenOrientation.Portrait;
break;
case DeviceOrientation.PortraitUpsideDown:
scrOr = ScreenOrientation.PortraitUpsideDown;
break;
case DeviceOrientation.LandscapeLeft:
scrOr = ScreenOrientation.LandscapeLeft;
break;
case DeviceOrientation.LandscapeRight:
scrOr = ScreenOrientation.LandscapeRight;
break;
//Don't know What Enum to use. Implement to match your need
case DeviceOrientation.FaceUp:
//scrOr = ?
break;
case DeviceOrientation.FaceDown:
//scrOr = ?
break;
}
return scrOr;
}
Вы, возможно, потребуется переключить шаг # 2 и # 3.