生命周期函數(shù)

生命周期函數(shù)的概念:
所有繼承MonoBehavior的腳本,最終都會(huì)掛載到GameObject游戲?qū)ο笊稀?/p>
生命周期函數(shù):
就是該腳本對(duì)象依附的GameObject對(duì)象從出生到消亡整個(gè)生命周期中,會(huì)通過(guò)反射自動(dòng)調(diào)用的一些特殊函數(shù)
注意:
生命周期函數(shù)的訪問(wèn)修飾符一般為private和protected。
void Awake(){}
當(dāng)對(duì)象(自己這個(gè)類對(duì)象)被創(chuàng)建時(shí) 才會(huì)調(diào)用該生命周期函數(shù)。
類似構(gòu)造函數(shù)的存在 我們可以在一個(gè)類對(duì)象 該創(chuàng)建 進(jìn)行一些初始化操作。
void OnEnable(){}
對(duì)于我們來(lái)說(shuō) 想要當(dāng)一個(gè)對(duì)象被激活時(shí) 進(jìn)行一些邏輯處理 就可以寫在這個(gè)函數(shù)。
void Start(){}
主要作用還是用于初始化信息的 但是它相對(duì)Awake來(lái)說(shuō) 要晚一點(diǎn)
因?yàn)樗窃趯?duì)象 進(jìn)行第一次幀更新之前才會(huì)執(zhí)行的。
void FixedUpdate(){}
它主要是用于 進(jìn)行物理更新?
它是每一幀的執(zhí)行的 但是 這里的幀 和游戲幀 有點(diǎn)不同
它的時(shí)間間隔 是可以在 project setting中的 Time里去設(shè)置的。
void Update(){}
主要用于處理游戲核心邏輯更新的函數(shù)。
void LateUpdate(){}
一般這個(gè)更新是用來(lái)處理 攝像機(jī)位置更新相關(guān)內(nèi)容的
Update和LateUpdate之間 Unity進(jìn)了一些處理 處理我們動(dòng)畫相關(guān)的更新。
void OnDisable(){}
如果我們希望在一個(gè)對(duì)象失活時(shí)做一些處理 就可以在該函數(shù)中寫邏輯。
void OnDestroy(){}
生命周期函數(shù) 支持繼承多態(tài)。