Как в юнити передать переменную в другую сцену?

Как из одной сцены передать переменную int в другую сцену
public  Text text; 

  public int Score = 0;              // ========== вот эту переменную

    

    public void Update()
    {
        text.text = Score + "";
    }
  
    
    private void OnTriggerEnter2D(Collider2D collision)
    {
        
        Score++;
        text.text = Score + "";
        Destroy(gameObject);
        
    }
  • Вопрос задан
  • 861 просмотр
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
1) Либо иметь объект с флагом DontDestroyOnLoad и хранить все значения в его компонентах.
2) Либо делать переменную static
3) Можно конечно использовать и PlayerPrefs

Ну и в конце, хорошим тоном считается разделение логики хранения, обработки и отображения. Условный патрон не должен заботиться об показе очков игрока на экране.
П.С. Я уж не говорю о том, что у вас сборщик мусора повесится, собирая после каждого кадра, создаваемую строку с очками, хотя они с прошлого кадра так и не изменились.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы