cocos creator onload等生命周期函數


 

onLoad
onLoad組件腳本的初始化階段,我們提供了 onLoad 回調函數。onLoad 回調會在這個組件所在的場景被載入 的時候觸發,在
onLoad 階段,保證了你可以獲取到場景中的其他節點,以及節點關聯的資源數據。通常 我們會在 onLoad階段去做一些初始化相關的操作。

start
start 回調函數會在組件第一次激活前,也就是第一次執行 update 之前觸發。start 通常用於
初始化一些中間狀態的數據,這些數據可能在 update 時會發生改變,並且被頻繁的 enable 和 disable。

update
游戲開發的一個關鍵點是在每一幀渲染前更新物體的行為,狀態和方位。這些更新操作通常都放在 update 回調中。

 

lateUpdate
update 會在所有動畫更新前執行,但如果我們要在動畫更新之后才進行一些額外操作,或者希望在所有組件的 update
都執行完之后才進行其它操作,那就需要用到 lateUpdate 回調。

onEnable
當組件的 enabled 屬性從 false 變為 true 時,會激活 onEnable 回調。倘若節點第一次被 創建且 enabled
為 true,則會在 onLoad 之后,start 之前被調用。

onDisable
當組件的 enabled 屬性從 true 變為 false 時,會激活 onDisable 回調。

onDestroy
當組件調用了 destroy(),會在該幀結束被統一回收,此時會調用 onDestroy 回調。

 

 

q: 只知道start()是在onload()之后,第一次update()之前執行,這也是一個初始化嗎?如果是初始化為什么不能直接放在onLoad()里面執行呢?

a:  假設每個組件的初始化在onload完成,當我一個節點初始化依賴另一個節點的屬性的時候,就有可能獲取到錯誤的值,因為有可能另一個節點還沒有執行onload,start是所有組件的onload都執行完了才會執行,這時獲取另一個節點的屬性就不會有問題,因為那個節點初始化完成了

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM