【发布时间】:2016-01-29 22:50:41
【问题描述】:
这是我在达到“目标”后第一次尝试加载下一个级别
public int CurrentLevel = 0;
public static int maxlevel = 3;
public void CompleteLevel()
{
if (CurrentLevel < maxlevel)
{
CurrentLevel += 1;
SceneManager.LoadScene(CurrentLevel);
}
else
print("you win");
}
这是在另一个班级...
void OnTriggerEnter(Collider other)
{
if (other.transform.tag == "DeathObject")
Die();
if (other.transform.tag == "Goal")
Manager.CompleteLevel();
}
它最终加载了第一关,进入第二关,然后当我达到目标时它会重复第二张地图。它会做的另一件事是从第一级或第二级跳到最后一级..不确定那里发生了什么。这是我尝试的第二件事:
public void LevelPassTest()
{
if (Application.loadedLevel > 4)
Application.LoadLevel(Application.loadedLevel + 1);
else
print("win");
}
这是在另一个班级......
void OnTriggerEnter(Collider other)
{
if (other.transform.tag == "DeathObject")
Die();
if (other.transform.tag == "Goal")
Manager.LevelPassTest();
}
我不知道为什么,但有时它不会加载下一个级别,它工作了一段时间然后停止,在我重置统一后它再次工作,所以我不确定这是我的代码还是统一。 .. 我收到一条警告消息,上面写着“警告 CS0618 'Application.loadedLevel' 已过时:'使用 SceneManager 确定已加载的场景'”和“警告 CS0618 'Application.LoadLevel(int)' 已过时:'使用 SceneManager .LoadScene'" 我是编码新手,完全迷失了这一点。花了4个小时试图修复它。这些警告是什么?他们会影响加载吗?我还希望能够保存关卡的价值,以便我可以在游戏保存中使用它,并为其附加高分。我在第一次尝试中尝试使用它,但它并没有像我希望的那样工作。 (当前级别)
【问题讨论】:
-
你得到的警告正是告诉你该做什么。
-
@ 测量好我不知道如何使用场景管理器而不让它看起来像我的第一次尝试,但没有成功。