zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    learning scala view collection
    scala
    learning scala dependency injection
    learning scala implicit class
    learning scala type alise
    learning scala PartialFunction
    learning scala Function Recursive Tail Call
    learning scala Function Composition andThen
    System.Threading.Interlocked.CompareChange使用
    System.Threading.Monitor的使用
  • 原文地址:https://www.cnblogs.com/gamedaybyday/p/13344334.html
Copyright © 2011-2022 走看看