加载之前(最后)使用的场景
本文关键字:最后 加载 | 更新日期: 2023-09-27 18:06:14
我为android制作了一款2D游戏,我制作了200多个关卡/场景。我还制作了一个当玩家与obscale碰撞时打开的游戏场景。在GameOver场景中,我添加了一个重试按钮,我想让它打开最后一个关卡。我是Unity和脚本的新手。我读过其他类似的问题,但没有一个解决我的问题。有人有什么好主意吗?
我这样做是因为我不想创建超过200个game over scene并在game中编辑每个obscale
通常这种最简单的解决方案是最好的。你所要做的就是让游戏记住你所处的场景。
创建一个作为容器使用的静态类。也就是说,它会保留你当前所处的场景,并且会贯穿整个游戏。
public static class LevelManager
{
private static string lastLevel;
public static void setLastLevel(string level)
{
lastLevel = level;
}
public static string getLastLevel()
{
return lastLevel;
}
public static void changeToPreviousLvl()
{
Application.LoadLevel(lastLevel);
}
}
那么你每次加载一个新场景时都调用这个方法,除了当你在场景上加载游戏时。你可以把这行代码放在一个脚本中,在每个场景中重复,也许是一个玩家脚本。
void Awake()
{
// Call the LevelManager and set the last level.
LevelManager.setLastLevel(Application.loadedLevelName);
}
你可以混合搭配Javascript和c#脚本。我建议你开始慢慢地切换到c#。
当GameOver发生并且玩家想要重新开始时,你必须调用LevelManager.getLastLevel()
来获取字符串名称,这样你就可以使用它来加载新场景