How to pause splash screen action for 3 seconds

Hello. I sorry if the question has been asked before, I just couldn’t find an appropriate solution.
I am creating a splash screen where two letters appear on screen for 3 seconds and then move away by MoveBy().
My problem is when I apply MoveBy(), the sprites start moving immediately. How do I make them stay still on screen for 3 seconds?
Please help.

As clearly explained in the docs about actions you simply need to create a sequence and add a DelayTime before MoveBy.

I have also used std::thread to do this, but only for my launch image. Doing it other places can halt the entire app execution, so @cei has a better solution.

Thank you for the prompt reply.
Can you show me an example line of code explaining how to use delay time?

everything you need is here

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
}