Unity 生命周期(Unity 5.6)

(一)简介

(1)所有的生命周期函数都派生自MonoBehaviour,需要继承 MonoBehaviour 类才能使用;

(2)生命周期函数全部都是由系统定义好的,系统会自动调用,且调用顺序和我们在代码里面的书写顺序无关;

(二)执行顺序

编辑器 ⟶ 初始化 ⟶ 物理系统 ⟶ 输入事件 ⟶  游戏逻辑 ⟶  场景渲染 ⟶  GUI渲染

⟶  物体状态(激活/禁用)⟶ 物体销毁 ⟶ 应用结束 

(三)常用的生命周期函数

函数  
Reset()

(1)用户点击检视面板的Reset按钮或者首次添加该组件时被调用;

(2)常用于给组件恢复默认值;

(3)只在编辑模式下被调用

Awake()

(1)Awake用于在游戏开始之前初始化变量或设置游戏状态

(2)Awake像构造函数一样只被调用一次

OnEnable()

(1)仅在对象处于激活状态时调用

(2)常用于给组件恢复默认值;

(3)OnEnable不能用于协同程序;

Start()  
FixedUpdate() 在处理Rigidbody时,应该使用FixedUpdate而不是Update 
OnTriggerXXX()

(1)进入触发器:OnTriggerEnter(Collider other);

(2)逗留触发器:OnTriggerStay(Collider other);

(3)离开触发器:OnTriggerExit(Collider other);

OnCollisionXXX()

(1)碰撞开始:OnCollisionEnter(Collision collisionInfo);

(2)碰撞逗留:OnCollisionStay(Collision collisionInfo);

(3)碰撞结束:OnCollisionExit(Collision collisionInfo);

OnMouseXXX()

(1)鼠标进入:OnMouseEnter();

(2)鼠标经过:OnMouseOver();

(3)鼠标按下:OnMouseDown();

(4)鼠标拖拽:OnMouseDrag();

(5)鼠标擡起:OnMouseUp();

(6)鼠标退出:OnMouseExit();

Update() 循环调用,每帧调用一次;
LateUpdate() 当物体在Update里移动时,跟随物体的相机可以在LateUpdate里实现;
OnGUI() 用于呈现和处理GUI事件;
OnDisabled() 当对象变为不可用或非激活状态时此函数被调用;
OnDestroy()  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章