Unity细节基础(二)脚本生命周期常用详解
第一个疑惑:Awake与Start的区别
(1)Awake是在所有实例被加载后,当脚本所挂载的实例的Active第一次为true时调用。也就是说,当脚本挂载的这个实例第一次在场景中被使用或展示。与脚本的实例是否被允许使用无关(onEnable == true)无关。
(2)Start函数在OnEnable函数之后运行,OnEnable是允许脚本执行,start函数只执行一次,相当于是说,Start函数是在脚本第一次被允许执行后执行。
(3)Awake函数,与Start函数当场景重新加载时都会重新执行,并遵循上述规则。
(4)
第一阶段:初始化阶段---------------------------------1
1.Awake()
2.OnEnable
3.Start
第二阶段:物理循环--------------------------------------------2
1.FixedUpdate:物理循环操作添加在这个函数里
2.yield WaitForFixedUpdate 携程中的物理操作
是0.02秒跑一次,可能会比其他的快或慢
3.OnTriggerEnter/Stay/Exit
4.OnCllisionEnter/Stay/Exit
第三阶段:鼠标信息输入-------------------------------------------3
OnMouse+?
第四阶段:游戏逻辑循环——一帧跑一次----------------------4
Updata
yiled null
yield WaitForSeconds
yield WWW(http 旧的API)
yield StartCoroutine
LateUpdata(相机操作适合)
第五阶段:SceneRender
OnPreCull(摄像机脚本挂载,某渲染被剔除)
--其他的在图中有
第六阶段:小组件的渲染
OnDrawGizmos
第七阶段:ui渲染-----------------------------------------5
OnGui
第八阶段:帧结束-----------------------------------------6
yield WaitForEndOfFrame
第九节段:游戏暂停或退出
OnApplicationPause
第十阶段:脚本不允许执行----------------------------------------7
OnDisable
第十一阶段:挂载对象删除,游戏结束--------------------------8
OnDestroy
OnApplicationQuit
其他的看图就可以了看下面两个摘抄自其它博主很直观。(仅仅作为个人笔记使用,如有不妥告知立即删除)