我正在用cocos2dx制作游戏,所以我创建了一个名为CoCoGui
的类
我还创建了一个IntroPage
类,它继承自CCLayerColor
的游戏介绍页面,以及一个StartPage
类,它也是从CCLayerColor
继承而来的。
我想显示前2秒的介绍页面,然后显示StartingPage
但在updateGame
CoCoGui
函数(这是游戏的主循环)中,当replaceScene
方法被调用,而Scene
被替换时,{{1 }}方法将不再被调用!
请帮我解决这个问题
谢谢!
这是CoCoGui.h文件:
updateGame
和StartingPage
是继承自IntroPage
CCLayerColor
这里也是CoCoGui.cpp文件
#ifndef _COCOGUI_H_
#define _COCOGUI_H_
#include "StartingPage.h"
#include "..\Classes\WorkSpace.h"
#include "..\Classes\GameBoard.h"
#include "..\Classes\IntroPage.h"
using namespace cocos2d;
class CoCoGui : public CCLayerColor{
public:
CoCoGui();
void addScene (CCScene * startPage, CCScene * work);
virtual ~CoCoGui(void);
void updateGame ( float dt );
virtual bool init();
static CCScene* scene();
CREATE_FUNC(CoCoGui);
private:
bool isInit;
CCScene * runnigScene;
IntroPage * introPage;
StartingPage * startingPage;
void onEnterTransitionDidFinish();
void menuCloseCallback(CCObject* pSender);
public:
CCScene * getRunningScene(void);
};
#endif /* COCOGUI_H */
答案 0 :(得分:2)
ReplaceScene将触发this->onExit()
,这将触发unschedule
功能。
答案 1 :(得分:1)
如果这与cocos2d-iphone类似,那么你必须调用onEnterTransitionDidFinish的基类实现以及类似的onEnter / onExit覆盖。在cocos2d-iphone中,在某些方法中不调用super会导致调度和输入停止工作。
答案 2 :(得分:0)
尝试添加
this->resume();
拨打时间表后。
还要确保已加载连接到图层的场景。如果不是,则会导致运行时错误。