unity面試題2(unity中腳本生命周期)

unity從喚醒到銷(xiāo)毀有一段生命周期,請(qǐng)列出系統(tǒng)自己調(diào)用的幾個(gè)重要方法

Awake->>Start->>Update->>FixedUpdate->>LateUpdate->>OnGUI->>Reset->>OnDisable->>OnDestory;


接下來(lái),做出一下講解:先執(zhí)行的方法是Awake,這是生命周期的開(kāi)始,用于進(jìn)行激活時(shí)的初始化代碼,一般可以在這個(gè)地方將當(dāng)前腳本禁用:this.enable=false,如果這樣做了,則會(huì)直接跳轉(zhuǎn)到OnDisable方法執(zhí)行一次,然后其他的任何方法,都將不再被執(zhí)行。

如果當(dāng)前腳本處于可用狀態(tài),則正常的執(zhí)行順序是繼續(xù)向下執(zhí)行OnEnable,當(dāng)然我們可以在另外一個(gè)腳本中實(shí)現(xiàn)這個(gè)腳本的啟動(dòng):this.enable = true;

再向下執(zhí)行,會(huì)進(jìn)行一個(gè)判斷,如果start方法還沒(méi)有被執(zhí)行一次,則會(huì)被執(zhí)行一次,如果已經(jīng)執(zhí)行了,則不會(huì)再被執(zhí)行。這是什么意思呢?我們可以在某個(gè)腳本中將組件禁用this.enable=false,再啟動(dòng)時(shí)會(huì)轉(zhuǎn)到OnEnable處執(zhí)行,這時(shí)繼續(xù)往下走,發(fā)現(xiàn)start執(zhí)行過(guò)了,將不再被執(zhí)行。比如說(shuō):第一次啟動(dòng)時(shí),將怪物的初始位置定在了(0,0,0)點(diǎn),然后怪物可能會(huì)發(fā)生了位置的變換,后來(lái)被禁用了,再次啟動(dòng)時(shí),不會(huì)讓怪物又回到初始的(0,0,0)位置。

繼續(xù)向后執(zhí)行,就是Update了,然后FixUpdate,再然后是LateUpdate,如果后面寫(xiě)了Reset,則會(huì)回到Update,在這4個(gè)事件間可以進(jìn)行循環(huán)流動(dòng)。

再向后執(zhí)行,就進(jìn)入了渲染模塊(Rendering),非常重要的一個(gè)方法就是OnGUI,用于繪制圖形界面。當(dāng)然,如果你使用了NGUI,這個(gè)生命周期的事情你就不用考慮了。

再向后,就是卸載模塊(TearDown),這里主要有兩個(gè)方法OnDisable與OnDestory。當(dāng)被禁用(enable=false)時(shí),會(huì)執(zhí)行OnDisable方法,但是這個(gè)時(shí)候,腳本不會(huì)銷(xiāo)毀,在這個(gè)狀態(tài)下,可以重新回到OnEnable狀態(tài)(enable=true)。當(dāng)手動(dòng)銷(xiāo)毀或附屬的游戲?qū)ο蟊讳N(xiāo)毀時(shí),OnDestory才會(huì)被執(zhí)行,當(dāng)前腳本的生命周期結(jié)束。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 我們會(huì)發(fā)現(xiàn),腳本里,自帶兩個(gè)函數(shù): Start()方法在Update被調(diào)用前進(jìn)行調(diào)用,只調(diào)用一次。(所以Start...
    FLY旳影子閱讀 7,856評(píng)論 0 7
  • 111. [動(dòng)畫(huà)系統(tǒng)]如何將其他類(lèi)型的動(dòng)畫(huà)轉(zhuǎn)換成關(guān)鍵幀動(dòng)畫(huà)? 動(dòng)畫(huà)->點(diǎn)緩存->關(guān)鍵幀 112. [動(dòng)畫(huà)]Unit...
    胤醚貔貅閱讀 13,524評(píng)論 3 88
  • 古人云:筆耕不綴,必有收獲。 最近小編在忙著找工作,在這了給自己大個(gè)廣告?。ㄇ煤诎澹?兩年移動(dòng)游戲unity前端開(kāi)...
    藍(lán)色土豆閱讀 1,282評(píng)論 1 4
  • Unity中腳本的生命周期就是代碼中腳本函數(shù)的執(zhí)行過(guò)程(順序),具體過(guò)程由圖1.1,1.2和1.3介紹: 這里我們...
    S_H_C閱讀 1,842評(píng)論 0 2
  • 小時(shí)候,在被父母追著打的時(shí)候,常常會(huì)想,當(dāng)小孩子好苦,我要快快長(zhǎng)大,長(zhǎng)大后的世界一定沒(méi)有這些痛苦。然后有一天,真的...
    斯堪的納維亞蟲(chóng)閱讀 543評(píng)論 0 1

友情鏈接更多精彩內(nèi)容