Cocos2d-x场景生命周期函数介绍

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

init()。初始化层调用。

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

onEnterTransitionDidFinish()。进入层而且过渡动画结束时候调用。

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

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

cleanup()。层对象被清除时候调用。

 

提示  层(Layer)继承于节点(Node)这些生命周期函数根本上是从Node继承而来。事实上所有Node对象包括场景、层、精灵等都有这些函数只要是子类化这些类都可以重写这些函数来处理这些对象的不同生命周期阶段事件。

 

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

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场景时候它的调用顺序如下图所示

更多内容请关注最新Cocos图书《Cocos2d-x实战 C++卷》
本书交流讨论网站http://www.cocoagame.net

更多精彩视频课程请关注智捷课堂Cocos课程http://v.51work6.com

欢迎加入Cocos2d-x技术讨论群257760386

《Cocos2d-x实战 C++卷》现已上线各大商店均已开售

京东http://item.jd.com/11584534.html

亚马逊http://www.amazon.cn/Cocos2d-x%E5%AE%9E%E6%88%98-C-%E5%8D%B7-%E5%85%B3%E4%B8%9C%E5%8D%87/dp/B00PTYWTLU

当当http://product.dangdang.com/23606265.html

互动出版网http://product.china-pub.com/3770734

《Cocos2d-x实战 C++卷》源码及样章下载地址

源码下载地址http://51work6.com/forum.php?mod=viewthread&tid=1155&extra=page%3D1 

样章下载地址http://51work6.com/forum.php?mod=viewthread&tid=1157&extra=page%3D1

欢迎关注智捷iOS课堂微信公共平台

时间: 2024-12-28 17:26:42

Cocos2d-x场景生命周期函数介绍的相关文章

Cocos2d-x Lua中生命周期函数

场景(Scene)以及所有节点(Node)的生命周期事件如下:enter.进入场景时候触发.enterTransitionFinish.进入场景而且过渡动画结束时候触发.exit.退出场景时候触发 .exitTransitionDidStart.退出场景而且开始过渡动画时候触发.cleanup.场景对象被清除时候触发.提示  GameScene场景中的(Scene)继承于节点(Node),这些生命周期事件根本上是从Node继承而来.事实上所有Node对象(包括:场景.层.精灵等)都有这些事件,具

exception-新手,刚开始学习Android,遇到难题(生命周期函数),求助啊,望大神们支招。。。

问题描述 新手,刚开始学习Android,遇到难题(生命周期函数),求助啊,望大神们支招... AndroidManifest.xml中:<?xml version="1.0" encoding="utf-8"?> package="com.yang.lifecyle" android:versionCode="1" android:versionName="1.0" > <uses

Cocos2D遍历场景图(Scene Graph)

另一个Cocos2D有用的调试特性是打印出递归的打印出节点的孩子们. 你可以添加以下一行到MainScene或GameScene的didLoadFromCCB的方法中: [self.scene walkSceneGraph:0]; 上述代码会递归打印出场景或节点图.

通过两个场景向初学者介绍内联汇编的基本用法和基本语法

对于 C++/C++ 程序员来说,内联汇编并不是一个新特性,它可以帮助我们充分利用计算能力.然而,大多数程序员很少有机会实际使用该特性.事实上,内联汇编只为特定的要求提供服务,在涉及先进的高层编程语言时尤其如此. 本文介绍了 IBM Power 处理器架构的两个场景.使用本文提供的示例,我们可以发现在什么地方应用了内联汇编. 场景 1:更好的库 C/C++ 编程语言支持逻辑运算.在本例中,http://www.aliyun.com/zixun/aggregation/6579.html">

《Mavan官方文档》构建生命周期介绍

构建生命周期基础 Maven是以构建生命周期这个核心概念为基础.构建生命周期是指为一个工程进行项目构建和分发的过程. 为了构建一个工程,有必要去学习一系列构建Maven项目的命令,并且POM文件会确保他们能够得到想要的结果. Maven中内置了三个构建生命周期:default,clean和site.default生命周期处理工程的部署,clean生命周期处理工程的清理,而site生命周期则负责创建工程的站点文档. 构建生命周期是由阶段组成的 三个构建生命周期都是由一系列不同的构建阶段组成,每一个

Cocos2d-x场景切换相关函数介绍

场景切换是通过导演类Director实现的其中的相关函数如下 runWithScene(Scene* scene).该函数可以运行场景.只能在启动第一个场景时候调用该函数.如果已经有一个场景运行情况下则不能调用该函数. replaceScene(Scene* scene).切换到下一个场景.用一个新的场景替换当前场景当前场景被终端释放. pushScene(Scene* scene).切换到下一个场景.将当前场景挂起放入到场景堆栈中然后再切换到下一个场景中. void popScene().与p

JS控件的生命周期介绍_javascript技巧

JS控件的生命周期跟其他平台UI的生命周期类似,但是又有自己的特点,我们只有将控件的生命周期划分清晰,所有的控件编写.mixins的编写和plugin的编写才能遵循控件的生命周期做统一的管理.在这里我把JS的生命周期定义为4部分: 1.initializer: 初始化,做一些不牵扯DOM操作的初始化操作 2.createDom: 创建 DOM,在这个过程中我们创建控件需要的DOM结构 3.renderUI: 生成控件的内部元素,在这里调用子控件的渲染方法,开启子控件的生命周期 4.bindUI:

关于PHP5 Session生命周期介绍_php技巧

它是通过 Session ID 来判断的,什么是 Session ID,就是那个 Session 文件的文件名,Session ID 是随机生成的,因此能保证唯一性和随机性,确保Session 的安全.一般如果没有设置 Session 的生存周期,则 Session ID 存储在内存中,关闭浏览器后该 ID 自动注销,重新请求该页面后,重新注册一个 Session ID. 如果客户端没有禁用 Cookie,则 Cookie 在启动 Session 会话的时候扮演的是存储 Session ID 和

Cocos2d-x Lua中多场景切换生命周期

在多个场景切换时候,场景的生命周期会更加复杂.这一节我们介绍一下场景切换生命周期.多个场景切换时候分为几种情况:情况1,使用pushScene函数从实现GameScene场景进入SettingScene场景.情况2,使用replaceScene函数实现从GameScene场景进入SettingScene场景.情况3,使用popScene函数从实现SettingScene场景回到GameScene场景.我们参考GameScene重写SettingScene的中几个生命周期函数,代码如下: func