【Cocos2d-x】シーンの移動
【Cocos2d-x】シーンの移動について
ボタンを押したら別の画面に移動できるようにします。
SecondScene.cppとSecondScene.hをC++ファイルとして新規で作成します。
HelloWorldSceneにならって、
SecondScene.hは
#include "cocos2d.h" USING_NS_CC; class SecondSceneLayer : public cocos2d::Layer { public: static cocos2d::Scene* createScene(); virtual bool init(); CREATE_FUNC(SecondSceneLayer); };
SecondScene.cppは
#include "SecondScene.h" Scene* SecondSceneLayer::createScene() { auto scene = Scene::create(); auto layer = SecondSceneLayer::create(); scene->addChild(layer); return scene; } bool SecondSceneLayer::init() { if ( !Layer::init() ) { return false; } Size winSize = Director::getInstance()->getWinSize(); Label *label = Label::createWithTTF("SecondScene", "Osaka.ttf", 40); label->setPosition(Vec2(winSize.width/2, winSize.height/2));//座標を画面の真ん中に指定 label->setTextColor(Color4B::BLUE); this->addChild(label, 1); return true; }
あとは、HelloWorldSceneからSecondSceneを呼び出します。
HelloWorldScene.cppの一番上に
#include "SecondScene.h"
ボタンアクションを参考に、ボタンアクションを実装して、
void HelloWorld::pushBtn(cocos2d::Ref *ref) { auto scene = SecondSceneLayer::createScene(); Director::getInstance()->replaceScene(scene); }
中身をこのように変更すればOK!
今回は以上。
この記事へのコメントはこちら