Похоже, вы вложили функцию 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
, чтобы убедиться, что это игрок, а не враг иличто-то (если, гипотетически, у вас были враги или снаряды или другие объекты с коллайдерами, движущимися в зону победы).