Skip to main content
Bumped by Community user
Bumped by Community user

Why the layer must be created from my class and not from layer class

I am confusingconfused about something. I have the following example:

mainMenu.h

class mainMenu : public Node {
public:
    static Scene* createScene();
    virtual bool init();
    void GoToGameScene(Ref *pSender);
    CREATE_FUNC(mainMenu);


private:
    mainMenu() {};
    ~mainMenu() {};


};

mainMenu.cpp

Scene* mainScene::createScene(){
    auto scene = Scene::create();
    auto layer = mainScene::create();
    scene->addChild(layer);

    return scene;
}

Focus on this part.

auto scene = Scene::create();
auto layer = mainScene::create();

Why when create a layerdo we create itlayer from mainScene not from Layer

For example: Why we do this:

auto layer = mainScene::create();

andIf we can do it, like createcreating a scene:

auto layer = Layer::create();

Why the layer must created from my class not from layer class

I am confusing about something. I have the following example:

mainMenu.h

class mainMenu : public Node {
public:
    static Scene* createScene();
    virtual bool init();
    void GoToGameScene(Ref *pSender);
    CREATE_FUNC(mainMenu);


private:
    mainMenu() {};
    ~mainMenu() {};


};

mainMenu.cpp

Scene* mainScene::createScene(){
    auto scene = Scene::create();
    auto layer = mainScene::create();
    scene->addChild(layer);

    return scene;
}

Focus on this part.

auto scene = Scene::create();
auto layer = mainScene::create();

Why when create a layer we create it from mainScene not from Layer

For example: Why we do this:

auto layer = mainScene::create();

and we can do like create a scene:

auto layer = Layer::create();

Why the layer must be created from my class and not from layer class

I am confused about something. I have the following example:

mainMenu.h

class mainMenu : public Node {
public:
    static Scene* createScene();
    virtual bool init();
    void GoToGameScene(Ref *pSender);
    CREATE_FUNC(mainMenu);


private:
    mainMenu() {};
    ~mainMenu() {};


};

mainMenu.cpp

Scene* mainScene::createScene(){
    auto scene = Scene::create();
    auto layer = mainScene::create();
    scene->addChild(layer);

    return scene;
}

Focus on this part.

auto scene = Scene::create();
auto layer = mainScene::create();

Why do we create layer from mainScene not from Layer

For example: Why we do this:

auto layer = mainScene::create();

If we can do it, like creating a scene

auto layer = Layer::create();
Source Link

Why the layer must created from my class not from layer class

I am confusing about something. I have the following example:

mainMenu.h

class mainMenu : public Node {
public:
    static Scene* createScene();
    virtual bool init();
    void GoToGameScene(Ref *pSender);
    CREATE_FUNC(mainMenu);


private:
    mainMenu() {};
    ~mainMenu() {};


};

mainMenu.cpp

Scene* mainScene::createScene(){
    auto scene = Scene::create();
    auto layer = mainScene::create();
    scene->addChild(layer);

    return scene;
}

Focus on this part.

auto scene = Scene::create();
auto layer = mainScene::create();

Why when create a layer we create it from mainScene not from Layer

For example: Why we do this:

auto layer = mainScene::create();

and we can do like create a scene:

auto layer = Layer::create();