该方法可以保证在跳转场景的时候不销毁某个物体。
比如场景A,场景B,场景A中有一个cube,通过在cube上添加脚本DontDestroyOnLoad,使得从A场景跳转到B场景的时候cube依旧在B场景中。这样就带来一个问题,当再次进入A场景的时候便会有两个cube,如此反复导致意外的事情。
解决方法如下:
void Awake()
{
DontDestroyOnLoad(this);
if (FindObjectsOfType(GetType()).Length > 1)
{
Destroy(gameObject);
}
}