天天看點

Unity 3d 腳本常用事件彙總

Awake()在MonoBehavior建立後就立刻調用,在腳本執行個體的整個生命周期中,Awake函數僅執行一次;如果遊戲對象(即gameObject)的初始狀态為關閉狀态,那麼運作程式,Awake函數不會執行;如果遊戲對象的初始狀态為開啟狀态,那麼Awake函數會執行;值得注意的一點是,Awake函數的執行與否與腳本執行個體的狀态(啟用或禁用)并沒有關系,而是與腳本執行個體所綁定的遊戲對象的開關狀态有關。如果重新加載場景,那麼場景内Awake函數的執行情況重新遵循上述兩點。 可以做一些初始化操作

Start()将在MonoBehavior建立後在該幀Update()第一次執行前被調用;Start()函數隻在腳本執行個體被啟用時才會執行;Start函數總是在Awake函數之後執行。如果遊戲對象開啟了,對象上綁定的腳本執行個體被禁用了,那麼Start函數不會執行。這是Start函數的特點,隻有在腳本執行個體被啟用時它才會執行,并且Start函數隻會在腳本執行個體首次被開啟時才會執行。如果是已經開啟過的腳本執行個體被關閉後再次開啟,那麼Start函數不會再次執行。

一般開發中都是在Awake函數中擷取遊戲對象或者腳本執行個體的資訊,然後在Start函數中進行一些擷取之後的初始化設定。

公共的字段放在Awake中 初始化

Awake、OnEnable、Start,都是遊戲開始運作前就調用的方法。 每次激活腳本時會調用 ,但是start之會在第一次調用update之前調用!

GameObject的Activity為true,腳本的enable為true時,其先後順序為:Awake、OnEnable、Start;GameObject的Activity為true,腳本的enable為false時,隻運作Awake;

GameObject的Activity為false時,以上都不調用,OnDisable()被調用;

OnDisable() 腳本不作用與遊戲對象是 Activity為false

OnDestory:物體被删除時調用。 或者腳本元件被移除時調用,對象銷毀時執行

Update:當MonoBehaviour啟用時,其Update在每一幀被調用; 用來處理畫面的邏輯

LateUpdate:當Behaviour啟用時,其LateUpdate在每一幀被調用

FixedUpdate:這個函數會在每個固定的實體時間片被調用一次.這是放置遊戲基本實體行為代碼的地方。UPDATE之後調用。

Reset:Reset是在使用者點選檢視面闆的Reset按鈕或者首次添加該元件時被調用.此函數隻在編輯模式下被調用.Reset最常用于在檢視面闆中給定一個最常用的預設值.

OnGui:這個函數會每幀調用好幾次(每個事件一次),GUI顯示函數隻能在OnGui中調用

更多unity2018的功能介紹請到paws3d爪爪學院查找。

繼續閱讀