Я очень новичок в Unity и c# в целом, но в настоящее время у меня есть игра с 2 различными фонами, и я хотел бы выяснить, как переключаться между 2 фонами - LightBackground и NightBackground - когда кнопка щелчок, с фоном по умолчанию, являющимся LightBackground, и когда кнопка нажата, NightBackground используется. Моя идея состояла в том, чтобы изменить порядок в слое (sortingOrder) NightBackground при нажатии кнопки, но безуспешно при попытке выполнить много задач.
На данный момент я создал скрипт Night / Dark, который я поместил в кнопку при нажатии, и он изменяет sortingOrder Nightbackground, но как мне сделать так, чтобы он одновременно изменял sortingOrder LightBackground. Кроме того, в настоящее время у меня есть игровой объект под названием Game Manager, который связан с Gameover Canvas, который отображает кнопку, которую я хочу, и кнопку воспроизведения; но как только кнопка нажата, фон меняется, но как только кнопка воспроизведения нажата, фон возвращается к LightBackground.
Сценарий NightDark:
public class NightDark : MonoBehaviour
{
public GameObject NightBackground;
// Start is called before the first frame update
void Start()
{
NightBackground.GetComponent<SpriteRenderer>().sortingOrder++;
}
// Update is called once per frame
void Update()
{
}
}
Сценарий диспетчера игр:
public class GameManager : MonoBehaviour
{
public GameObject gameOverCanvas;
private void Start()
{
Time.timeScale = 1;
}
public void GameOver()
{
gameOverCanvas.SetActive(true);
Time.timeScale = 0;
}
public void Replay()
{
SceneManager.LoadScene(0);
}
}
Возможно, будет проще просмотреть Game Manager и NightDark здесь.
Если кто-нибудь из вас сможет помочь хоть в малейшей степени, будет очень признателен, так как сейчас я действительно борюсь. Еще раз спасибо.