Я начал путь к разработке Unity2D несколько месяцев go, так что я все еще довольно новичок во всем жаргоне движка Unity. В моей игре я решил реализовать использование «Lives». Я написал, что (на мой взгляд) должно работать, но каждый раз, когда игрок умирает, вместо того, чтобы уменьшать счетчик жизней и перезапускать его на сцене, он сразу же загружает сцену 1 (т.е. экран GameOver) logi c здесь на этой странице неверно или есть просто лучший способ управлять жизнями, чем PlayerPrefs? (ТАКЖЕ: стоит упомянуть, что экземпляры Lives создаются / отправляются playerprefs в сценарии проигрывателя, я не думаю, что мне нужно включать его здесь)
Это основной блок кода на моих объектах разрушителя. 'скрипт для учета' смерти ':
public static int lives;
void Start()
{
lives = PlayerPrefs.GetInt("lives");
}
void OnTriggerEnter2D(Collider2D other)
{
//If the trigger happens to be tagged as a 'Player', does this.
if (other.tag == "Player")
{
lives--;
if (lives < 0)
{
PlayerPrefs.DeleteAll();
SceneManager.LoadScene(1);
} else
{
SceneManager.LoadScene(0);
PlayerPrefs.SetInt("lives", lives);
}
}
if (other.gameObject.transform.parent)
{
Destroy(other.gameObject.transform.parent.gameObject);
}
else {
Destroy(other.gameObject);
}
}