一、脚本执行顺序
Awake()//游戏开始脚本挂载即执行,每次加载只执行一次
OnEnable()//组件激活就调用,前提游戏物体必须激活
OnDisable()
Start ()//脚本激活时执行,每次加载只执行一次
FixedUpdate()//每秒固定次数调用。次数 = 1/ Fixed Timestep
OnDestroy()//组件被移除才调用
二、协程
Coroutine cot;
IEnumerator iet;
ResourceRequest rqs;
GameObject go;
iet = wait();
StartCoroutine("wait");//使用函数的字符串开启协程可以再用该函数字符串来关闭协程
cot = StartCoroutine(wait());//使用直接使用函数开启协程时可以保存 StartCoroutine 返回的协程,然后 StopCoroutine(cot); 来关闭
StartCoroutine(iet);//使用协程函数的返回来开启协程,关闭时使用StopCoroutine(iet);
StopCoroutine("wait");
StopCoroutine(cot);
StopCoroutine(iet);
IEnumerator load()
{
rqs = Resources.LoadAsync(" Cube");
yield return rqs;
Debug.Log("load done");
go = rqs.asset as GameObject;
if (go != null)
{
Instantiate(go);
Debug.Log("load done");
}
}
IEnumerator wait()
{
while (true)
{
Debug.Log(1);
yield return new WaitForSeconds(0.5f);
}
yield return 0;
}