CocosCreator 生命周期(組件執行順序)


版本:2.3.4

參考:

cocos教程:生命周期回調

 

一 生命周期

二 新建-移除一個商店模塊的過程

三 代碼執行順序

 

一 生命周期

cocos的cc.Component組件有如下生命周期

  • construct              新建時觸發,整個生命周期只會觸發一次
  • onLoad                 節點激活時觸發,整個生命周期只會觸發一次
  • start                      節點第一次激活時觸發,在update之前,整個生命周期只會觸發一次
  • update                  動畫、物理、粒子等渲染前執行,每幀調用
  • lateUpdate           動畫、物理、粒子等渲染后執行,每幀調用
  • onDestroy            銷毀時執行,整個生命周期只會觸發一次
  • onEnable             組件enabled從false變為true,或者節點active從false變為true觸發
  • onDisable            組件enabled從true變為false,或者節點active從ture變為false觸發

 

二 新建-移除一個商店模塊的過程

現在新建一個商店界面,到移除的過程。

 

一 新建一個組件商店面板 new ShopPanel()  

 1. 此時無法通過cc.find等獲取商店里的其他節點

執行:

construct

 

二 添加組件到舞台  addChild(shopPanel.node)

1.此時可以通過cc.find等獲取商店里的其他節點

執行:

onLoad

onEnable

start

update

lateUpdate

 

三 組件從舞台移除  removeChild(shopPanel.node)

執行:

onDisable

 

四 再次添加組件到舞台,addChild(shopPanel.node)

1. onLoad和start不會再觸發。

執行:

onEnable

update

lateUpdate

 

五 shopPanel.enabled = false

1.不會再調用update,lateUpdate了

執行:

onDisable

 

六 shopPanel.enabled = true

1.又重新執行update和lateUpdate了

執行:

onEnable

update

lateUpate

 

七  shopPanel.node.active = false

1. 舞台上不顯示商店面板了

2.不再執行udpate和LateUpdate

2.如果只是想隱藏商店,但是繼續執行update,可以使用shopPanel.node.opacity = 0隱藏,shopPanel.node.opacity = 255顯示

 執行:

onDisable

 

八 shopPanel.node.active = true

1.舞台上顯示商店面板

2.重新執行update和LateUpdate

執行:

onEnable

update

lateUpdate

 

九 shopPanel.node.destroy

1. destroy調用后不會立即銷毀,在當前邏輯幀更新后統一銷毀。可以通過cc.isValid判斷該組件是否可用。

執行:

onDisable

onDestroy

 

三 代碼執行順序

一個組件上同時綁定兩個組件,執行順序從上到下

 

 

 


免責聲明!

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



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