Локальная функция OnTriggerEnter2D объявлена, но никогда не используется - PullRequest
0 голосов
/ 09 июля 2019

Я не знаю, как это исправить. Это 2D игра. Когда вы сталкиваетесь с боксом, он должен загрузить / телепортировать вас к следующей сцене, но это не так.

Я перепробовал все в интернете, и это не сработало.

using UnityEngine;
using UnityEngine.SceneManagement;

public class VictoryZone : MonoBehaviour 
{        
    public void LoadNextLevel() 
    {
        void OnTriggerEnter2D(Collider2D collider)
        {   
            SceneManager.LoadScene(1);
        }
    }
}

Я ожидаю, что это телепортирует меня на мой следующий уровень.

1 Ответ

3 голосов
/ 09 июля 2019

Похоже, вы вложили функцию OnTriggerEnter2D() в LoadNextLevel()?Вот что относится к предупреждению Local Function .

Это должны быть две отдельные функции, а не одна внутри другой.OnTriggerEnter2D() является функцией MonoBehavior;MonoBehavior (VictoryZone) - это то, что получает уведомление о столкновении.

using UnityEngine.SceneManagement;

public class VictoryZone : MonoBehaviour {

    public void LoadNextLevel() {
        SceneManager.LoadScene(1);
    }

    void OnTriggerEnter2D(Collider2D collider) {
        LoadNextLevel();
    }

}

Примечание: вам также может понадобиться проверить GameObject, связанный с collider, чтобы убедиться, что это игрок, а не враг иличто-то (если, гипотетически, у вас были враги или снаряды или другие объекты с коллайдерами, движущимися в зону победы).

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