面试——Unity回调方法执行顺序

Editor

Reset()—— 编译环境下,当脚本添加和Reset时调用。

Initialization

Awake()——第一次启用时调用一次。

OnEnable()——每次启用时调用,第一次启用如果 Awake() 中禁用则不会调用

Start()——仅调用一次,调用结束初始化完成

Physics

一个特殊的部分,以一个稳定的定时器调用,可能帧率低时可能发生多次

FixedUpdate()

yield WaitForFixedUpdate()——协程等待 FixedUpdate() 的挂起代码

OnTriggerXXX()

OnCollisionXXX()

Input event

OnMouseXXX()

Game logic

Update()

挂起协程非 WaitForUpdate() 符合条件的可执行

animation 更新

LateUpdate()

Scene rendering

场景渲染相关方法,不可控,想控制需要用OpenGL

Gizmo rendering

OnDrawGizmos()——编辑器环境下辅助小工具渲染

GUI rendering

OnGUI()——把当前场景所有的游戏对象都渲染完了最后才渲染这些GUI界面,在这里,一帧最少执行两次或多次,这一帧在这里做了两件事,1.布局:(先擦掉再重新布局)2.重绘(repaint)(重新绘制本身)然后是每个输入事件的布局和键盘/鼠标事件。

End of frame

协程 WaitForEndOfFrame 条件执行

Pausing

OnApplicationPause()

Disable/enable

OnDisable()——每次禁用时调用,与 OnEnable() 对应

Decommissioning

OnDestroy()——销毁时调用

OnApplicationQuit()

你可能感兴趣的:(Unity,面试题积累)