我不知道如何解决它。这是一个2D游戏。当您与该框碰撞时,它应该将您加载/传送到下一个场景,但是不会。
我尝试了互联网上的所有内容,但没有成功。
using UnityEngine;
using UnityEngine.SceneManagement;
public class VictoryZone : MonoBehaviour
{
public void LoadNextLevel()
{
void OnTriggerEnter2D(Collider2D collider)
{
SceneManager.LoadScene(1);
}
}
}
我希望它能将我传送到下一个层次。
答案 0 :(得分:3)
好像您将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();
}
}
注意:您可能还需要检查与collider
关联的GameObject,以确保它是玩家,而不是敌人或其他东西(假设您有敌人或射弹或其他物体,且撞机在移动)进入胜利区。