This is what i use:
SplashScene.h
#pragma once
#include "cocos2d.h"
class SplashScene : public cocos2d::LayerColor
{
public:
static cocos2d::Scene* createScene();
virtual bool init();
CREATE_FUNC(SplashScene);
private:
void LoginRegisterScene(float dt);
};
SplashScene.cpp
#include "SplashScene.h"
#include "LoginRegisterScene.h"
USING_NS_CC;
Scene* SplashScene::createScene()
{
auto scene = Scene::create();
auto layer = SplashScene::create();
scene->addChild(layer);
return scene;
}
bool SplashScene::init()
{
if ( !LayerColor::initWithColor(Color4B(255, 255, 255, 255)) )
{
return false;
}
........
this->scheduleOnce(schedule_selector(SplashScene::LoginRegisterScene), 3); // after 3 seconds, go to LoginRegisterScene
return true;
}
void SplashScene::LoginRegisterScene(float dt){
auto scene = LoginRegisterScene::createScene();
Director::getInstance()->replaceScene(TransitionSlideInR::create(0.25f, scene)); // transition time of the scene
}