unity, 慎用DontDestroyOnLoad
如果想让一个节点切换场景时不销毁,可以为它添加如下脚本:
using UnityEngine;
using System.Collections;
public class dontDestroyOnLoad : MonoBehaviour {
void Start () {
//ref: http://answers.unity3d.com/questions/13130/scene-to-scene-variables.html
//ref: http://stackoverflow.com/questions/14219314/unity3d-editable-global-variables
DontDestroyOnLoad (this);
}
}
但这样做十分危险,例如下面情况:
假设scene1上节点node挂了上面脚本,那么反复进行如下操作scene1切换到scene2,scene2切换回scene1,scene1切换到scene2,...
则node个数会不断增加,直至程序崩溃。
所以,还是永远不要用DontDestroyOnLoad吧。