多个场景自动切换时第二个定时器无作用

来源:互联网 发布:阿里云免费半年 编辑:程序博客网 时间:2024/05/29 15:11

柒哥原创 ,欢迎转载,转载请在明显处注明! 谢谢。

原文地址:http://blog.csdn.net/iasxk/article/details/9531785



多个场景自动切换是不是需要多个定时器,是的。

 

所以我想当然的在init()中定义的两个定时器

bool MainScene::init(){    bool bRet = false;    do     {        CC_BREAK_IF(! CCLayer::init());//启动定时器this->schedule(schedule_selector(MainScene::step),1.2f);this->schedule(schedule_selector(MainScene::startGame),5.0f);//错误        bRet = true;    } while (0);    return bRet;}



这样是不会在1.2s 后切换一个场景,然后又在5s后又切换一个场景。

 

原因:

在MainScene场景被切换后,MainScene里面的定时器就不会在另一个场景中启作用。

 

解决:



这个this指的就是当前的场景对象,这个是可以省略的。

假如你的第二个场景是secondScene,你想在第二个场景时,过5s切换到第三个场景,假如是thirdScene.那么就在切第二个场景前定义第二个定时器

secondScene->schedule(schedule_selector(MainScene::startGame),5.0f);正确

CCDirector::sharedDirector()->replaceScene(secondScene);



原创粉丝点击