使用unity开发的时候,经常要进行两个或者多个场景之间的值传递,但是有一个问题就是场景切换的时候,会销毁一些东西,虽然官方有提供一个DontDestroyOnLoad()方法,
但是我觉得还不是很足够,因为如果是在两个场景之间来回切换的话,就会造成该物体重复出现的。然后我就写了如下脚本解决这个问题:
void Awake()
{
if (Instance == null)
{
DontDestroyOnLoad(gameObject);
Instance = this;
}
else if (Instance != this)
{
Destroy(gameObject);
}
}
代码很简单,就不写注释和解释了。然后可以在这个脚本存放一些值,就好像两个数交换一样,把这个脚本作为中间变量进行传值