В Unity, как я могу заморозить экран в одной сцене, сменить сцену, а затем разморозить ее в другой сцене? При замораживании экрана я просто хочу сказать, что он не обновляется, пока он заморожен. С экраном я просто имею в виду это: Как заморозить экран?
Я попытался установить Time.timeScale = 0, но это не сработало.
Дело в том, что у меня разные ориентации экрана в сценах: портрет в первом и пейзаж в другом. Это заставляет вторую сцену скручивать/разрушать экран загрузки, загруженный в первую сцену. Материал, который инициализируется во второй сцене, требует ландшафтной ориентации, поэтому я не могу просто изменить ориентацию экрана после того, как все было инициализировано.
Я просто хочу заморозить экран после загрузки загружаемого изображения, а затем разморозить его после инициализации второй сцены. Это возможно?
Это мой код в данный момент, обобщается:
// Script for the first scene
class firstClass(){
IEnumerator ChangeScene(){
// Display loading screen in portrait orientation
loadingScreen.SetActive(true);
// Load the second scene
SceneManager.LoadSceneAsync("secondScene");
}
}
// Script for the second scene
class secondClass(){
Start(){
Screen.orientation = ScreenOrientation.LandscapeLeft; // twists the loading screen :(
Init(a lot of stuff) // Needs landscape orientation to be initialized properly
// Init done, hide loading screen
loadingScreen.SetActive(false);
}
}
Это, как я хочу работать:
class firstClass(){
IEnumerator ChangeScene(){
// Display loading screen in portrait orientation
loadingScreen.SetActive(true);
FreezeScreen();
SceneManager.LoadSceneAsync("secondScene");
}
}
class secondClass(){
Start(){
Screen.orientation = ScreenOrientation.LandscapeLeft; // doesn't affect the loading screen because the screen is frozen!
Init(a lot of stuff);
UnfreezeScreen();
// Init done, hide loading screen
loadingScreen.SetActive(false);
}
}
Вот иллюстрация: https://gyazo.com/864303465be750b7970636415ddf070d
Что ты имеешь в виду замораживание? Вы имеете в виду, что ориентация должна оставаться такой же, а не изменяться? – Programmer
Да, точно. Я хочу, чтобы отображаемые объекты на экране оставались неизменными, даже если я изменяю ориентацию экрана. – Johan
Совершенно неясно, что вы подразумеваете под «замораживанием» экрана.Вам придется удалить это слово. Может быть, вы хотите *** отключить вращение ***, возможно, во время процесса загрузки, и только *** включить ротацию *** позже? – Fattie