Awake():当前控制脚本实例被装载的时候调用,常用于初始化;
start():当前控制脚本第一次执行 Update() 前调用;
Update():每帧执行一次;
FixedUpdate():每固定帧绘制时执行一次,和 Update() 的不同之处在于 FixedUpdate() 是渲染帧执行,如果渲染效率低下的时候,FixedUpdate() 的调用次数就会跟着下降。FixedUpdate() 比较适用于物理引擎的计算,Update() 比较适合做控制。
LateUpdate():在每帧执行完毕后调用,即所有的 Update() 结束后才调用,比较适合用于命令脚本的执行。常用于摄像机的跟随,即所有的操作结束后才跟进摄像机,不然容易出现摄像机已经跟进了,而场景中还有些操作没执行。
Reset():在编辑器模式下点击 reset 按钮时调用,常用于做调试的初始化工作;
OnBecameInvisible()、OnBecameVisible():当脚本宿主(不)被任何摄像机显示时调用;
OnCollisionEntry()、OnCollisionExit()、OnCollisionStay():检测两个碰撞器发生碰撞、退出碰撞、停留时调用;
OnTriggerEntry()、OnTriggerExit()、OnTriggerStay():检测两个触发器发生碰撞、退出碰撞、停留时调用;
OnParticleCollision():当粒子撞到碰撞体时触发;
OnDisable()、OnEnable():当脚本宿主被启用或禁用时触发;
OnGUI():绘制GUI时触发,一般用于绘制GUI菜单;
鼠标监听事件,当鼠标和GUI或碰撞体交互时触发:
OnMouseDown():鼠标按下时触发;
OnMouseDrag():鼠标按下时,每帧都会调用;
OnMouseUp():鼠标抬起时触发;
OnMouseEnter():鼠标移上去触发;
OnMouseExit():鼠标移出时触发;
OnMouseOver():鼠标在游戏对象上的时候,每帧都会触发。
OnApplicationFocus()、OnApplicationPause()、OnApplicationQuit():当应用程序失去焦点、暂停、退出时调用;
OnConnectedToServer()、OnDisconnectedFromServer():连接/断开服务器时调用;
OnFailedToConnect()、OnFailedToConnectToMasterServer():连接失败时调用。
Unity中基础函数的生命周期