Я создаю шутер с видом сверху в единстве. В игре здоровье игроков представлено ползунком пользовательского интерфейса. При перемещении между сценами я сохраняю значение здоровья игрока, используя приведенный ниже код, и использую GetFloat для установки на следующем уровне. Проблема, с которой я сталкиваюсь, заключается в том, что когда игроки появляются на следующем уровне, ползунок пользовательского интерфейса перемещается на 0 вместо сохраненного значения до тех пор, пока игроку не будет нанесен некоторый ущерб здоровью, после чего оно будет установлено на сохраненное. ценность.
Сохранение здоровья игрока
public void yesTeleport(string levelname)
{
healthNumber = healthSlider.value;
SceneManager.LoadScene (levelname);
PlayerPrefs.SetFloat ("HealthValue", healthNumber);
PlayerPrefs.Save ();
}
Настройка здоровья игрока на следующем уровне
public Slider healthSlider;
void Start () {
Time.timeScale = 1.0f;
healthSlider.value = PlayerPrefs.GetInt ("HealthValue");
}
Подробнее здесь: https://stackoverflow.com/questions/431 ... r-in-unity