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

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

原文地址: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);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值