zoukankan      html  css  js  c++  java
  • Cocos2d-x场景功能描述的生命周期

    层(Layer)的生命周期函数有例如以下:

    init()。初始化层调用。

    onEnter()。进入层时候调用。

    onEnterTransitionDidFinish()。

    进入层并且过渡动画结束时候调用。

    onExit()。退出层时候调用。

    onExitTransitionDidStart()。退出层并且開始过渡动画时候调用。

    cleanup()。

    层对象被清除时候调用。

    提示 层(Layer)继承于节点(Node),这些生命周期函数根本上是从Node继承而来。其实全部Node对象(包含:场景、层、精灵等)都有这些函数。仅仅要是子类化这些类都能够重写这些函数,来处理这些对象的不同生命周期阶段事件。

    我们重写HelloWorld层的中几个生命周期函数,代码例如以下:

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    bool HelloWorld::init()
    {          
        if( !Layer::init() )
        {
             returnfalse;
        }
      
        log("HelloWorldinit");
        ......
        returntrue;
    }
      
    void HelloWorld::onEnter()
    {
        Layer::onEnter();
        log("HelloWorldonEnter");
    }
      
    voidHelloWorld::onEnterTransitionDidFinish()
    {
        Layer::onEnterTransitionDidFinish();
        log("HelloWorldonEnterTransitionDidFinish");
    }
      
    void HelloWorld::onExit()
    {
        Layer::onExit();
        log("HelloWorldonExit");
    }
      
    voidHelloWorld::onExitTransitionDidStart()
    {
        Layer::onExitTransitionDidStart();
        log("HelloWorldonExitTransitionDidStart");
    }
      
    void HelloWorld::cleanup()
    {
        Layer::cleanup();
        log("HelloWorldcleanup");
    }

    注意 在重写层生命周期函数中,第一行代码应该是调用父类的函数。比如HelloWorld::onEnter()中第一行应该是Layer::onEnter()函数,假设不调用父类的函数可能会导致层中动画、动作或计划无法运行。

    假设HelloWorld是第一个场景,当启动HelloWorld场景时候,它的调用顺序例如以下图所看到的:

  • 相关阅读:
    vue中表格自适应屏幕一屏显示
    css+jq实现星星评分
    CSS中width,min-width和max-width之间的联系
    用jq动态给导航菜单添加active
    解决ios中input兼容性问题
    swiper按钮点击无效及控制器无效问题
    bootstrap 模态框在iphone微信内点击无效
    vue,onerror实现当图片加载失败时使用默认图
    MVC模板页使用
    MVC框架+vue+elementUI
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4759382.html
Copyright © 2011-2022 走看看