Реализация Lives в Unity2D - PullRequest
       0

Реализация Lives в Unity2D

0 голосов
/ 25 февраля 2020

Я начал путь к разработке 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);
    }
}

Ответы [ 2 ]

1 голос
/ 25 февраля 2020

Когда @Ugur Tufekci отвечает, но обязательно добавьте BoxCollider2d , а не Box Collider.Простой коробочный коллайдер - 3d, но вы обнаруживаете, что onTriggerEnter2D означает, что нужно добавить 2d коробочный коллайдер.

1 голос
/ 25 февраля 2020

Check the collider area

Как я уже упоминал в комментарии, я думаю, что вы забыли переключить поле isTrigger из Inspector, которое находится под областью Collider.

Вероятно, вы думали, что вы используете onCollisionEnter. Также, если вы проверите различия между OnTriggerEnter и OnCollisionEnter, это будет очень полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...