醉卧南楼 2017-06-09 03:35 采纳率: 0%
浏览 1529

Cocos2dx暂停恢复后,定时器不再继续执行

如题,在游戏实现暂停之后,恢复游戏,定时器schedule就没有再继续运行了。求大佬告诉这个问题应该怎么去解决啊

以下是调用暂停的方法

 void GameScene::menuPauseLayer(Object* pSender) {
    auto visibleSize = Director::sharedDirector()->getVisibleSize();
    auto *renderTexture = RenderTexture::create(visibleSize.width, visibleSize.height);
    renderTexture->begin();
    this->getParent()->visit();
    renderTexture->end();
    pauseSchedulerAndActions();
    Director::sharedDirector()->pushScene(GamePause::pauseScene(renderTexture));
}

这是在暂停类中恢复的方法

 void GamePause::menuContinueCallback(Object* pSender){
    Director::sharedDirector()->popScene();
}

我是用的schedule定时器

 schedule(schedule_selector(GameScene::timeUpdate));
  • 写回答

1条回答 默认 最新

  • weixin_45595141 2019-10-07 13:28
    关注

    我也是这种情况,然后想了很久我发现,我把定时器在onExit中取消了,在pushScene的时候会执行当前场景的onExit方法。
    pushScene执行流程(A表示当前场景,B表示push的场景):
    B::init-->A::onExitTransitionDidStart-->B::onEnter-->A::onExit-->B::onEnterTransitionDidFinish

    评论

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿