首先要将GameManager单例;将GameManeger挂载到有个空物体上;给主摄像机添加一个脚本Loder并将挂载GameManager的物体放入Loder中初始化;
这样重新加载本关卡也只有一个GameManager ,只需修改保留GameManager中的数据即可;
重新加载场景代码为
using UnityEngine.SceneManagement;
...
...
if (//加载场景条件)
{
SceneManager.LoadScene(0);//0为场景索引,场景索引可以在file/build settings中看
}
还有一个unity自带的函数
private void OnLevelWasLoaded(int index)
{
Level++;
InitGame1();
}
//当重新加载场景时自动调用,就像Awake()一样
InitGame1()为场景初始化时要给一些物体什么的赋值也要在最开始upda中调用
如
void Start()
{
InitGame1();