Я пытаюсь сделать 3d-игру, в которой есть две сцены, одна сцена игры, а другая сцена GameOver. На игровой сцене счет подсчитывается в реальном времени, когда игрок движется вдоль оси z, используя следующий код:
using UnityEngine;
using UnityEngine.UI;
public class Score : MonoBehaviour
{
public Transform player;
public Text ScoreValue; //means, input is required, since a variable has been created
// Update is called once per frame
void Update()
{
ScoreValue.text = ((player.position.z-15)/10).ToString("0"); //ToString("0") is to remove all decimal points
PlayerPrefs.SetString("CurrentScore", ((player.position.z-15)/10).ToString("0"));
}
}
Поскольку он находится на сцене уровня игры, счет рассчитывается в соответствии с движением игрока путем перетаскивания. объект игрока в сценарий. Когда игра заканчивается, сцена переходит на экран GameOver с помощью SceneManagement. Поскольку я хочу отображать счет из уровня игры в сцене «Игра поверх», я использую префаб для сохранения результата.
Теперь в сцене «Gameover» у меня есть текстовый объект, который я хотел обновить в финальной версии. значение оценки формируется из игрового уровня, поэтому я создал для него скрипт, который выглядит следующим образом:
using UnityEngine;
using UnityEngine.UI;
public class GameOverScore : MonoBehaviour
{
public Text OverScore;
void Update()
{
OverScore.text = PlayerPrefs.GetFloat("CurrentScore").ToString();
}
}
Здесь вам нужно перетаскивать текст (значение оценки), который вы хотите обновлять всякий раз, когда уровень концы. Значение оценки по умолчанию в игре «Over over» устанавливается на: - Используя это, текст оценки в «Game Over» должен обновляться до окончательного значения игровой сцены. Но всякий раз, когда игра заканчивается и происходит переход к сцене Game Over, счет в сцене Game Over меняется с: '-', на: 0. Но когда уровень закончился, счет не был равен 0, может кто-нибудь сказать мне что делать или какой код использовать, чтобы значение в сцене Game Over обновлялось до конечного значения сцены уровня игры? Буду очень признателен, если вы поможете мне.