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

  • 相关阅读:
    我爱网络流之最大流Dinic
    2019ICPC陕西邀请赛复盘
    ZOJ
    ACM省赛及蓝桥总结,且随疾风前行,身后亦须留心
    ZOJ 4124 拓扑排序+思维dfs
    蓝桥 log大侠
    蓝桥历年试题 DNA对比
    “美登杯”上海市高校大学生程序设计邀请赛 (华东理工大学)
    蓝桥历年试题 套娃
    WPF学习之路(七)应用程序和窗口(续)
  • 原文地址:https://www.cnblogs.com/gamedaybyday/p/13344334.html
Copyright © 2011-2022 走看看