Стоп считать, когда игра окончена и сохранить значение
Для моей новой игры в Unity3D я создал код Javascript, который позволяет считать, когда игрок играет, и отображать значение в GUIText.
Но у меня есть некоторые проблемы.
В игре начинается отсчет, и текст GUIT показывает значение счетчика. Но когда я заканчиваю игру, счет не останавливается.
В сцене выхода GUIText, который показывает значение счетчика игровой сцены, перезапустите с 0, и он не остановится.
Вот сценарий:
var Counter : int = 0;
var score : GUIText;
function Start () {
}
function Update () {
Counter++;
score.text = Counter.ToString();
}
Итак, я хочу остановить счет, когда игра закончится, и сохранить значение, чтобы в следующей сцене GUIText показывал окончательное значение.
Как я могу это сделать?
2 ответа
Вам нужно ограничить приращение счетчика, используя переменное состояние в вашей игре поверх события. (Я не знаю, чем закончится твоя игра)
var Counter : int = 0;
var score : GUIText;
var isGameOver = false; //true this variable as your gameover
function Start () {
}
function Update () {
//isGameOver variable to check that the game is over or not
if(!isGameOver){
Counter++;
score.text = Counter.ToString();
}
}
Попробуй это:
private var isFinished : boolean = false;
var Counter : int = 0;
var score : GUIText;
function Start () {
}
function Update () {
if(!isFinished){
Counter++;
score.text = Counter.ToString();
}
if ("something that makes the game stop") {
isFinished = true;
}
}
Затем, чтобы передать переменную в следующую сцену, вы можете использовать PlayerPrefs
чтобы сохранить вашу переменную, а затем получить ее в следующей сцене, посмотрите здесь и здесь