Вы уже сделали это public static
, все, что осталось, это написать в своей игре поверх сценария текстового поля сцены:
gameOverText.text = "Score: " + scoreScript.scoreValue;
при условии, что gameOverText
является Text
.
Вам не нужно создавать экземпляр для доступа к статическому члену, вы должны обращаться к ним, используя имя класса (scoreScript
в вашем случае).
Однако нехорошо смешивать хранение глобального счета и текстовое поле для отображения его в одном классе, потому что по мере добавления новых функций в игру все глобальные переменные будут находиться в разных классах, и вы будете уделять все большее внимание при изменении вашего кода. Чтобы избежать этого, вы можете использовать статический класс в качестве «ядра», где хранятся все глобальные переменные. Впервые это будет сделано.
DontDestroyOnLoad
работает с GameObject
с, поэтому они не будут уничтожены при загрузке новой сцены. Если вы назовете его в своем скрипте, счет вашего GameObject останется, как и текстовое поле, потому что оно является составной частью этого объекта и будет присутствовать в игре на сцене, поэтому не делайте этого.