【cocos-2dx+Windows10ゲーム開発】空のシーンを作る

cocos2dxで空のシーンを作るにはLayerクラスを継承したシーンクラスを作ります。

CREATE_FUNCマクロはautorelease付きのcreateメソッドを作ってくれます。

createSceneメソッドではSceneを一つ作り、その子要素として自身をレイヤーに追加します。

CREATE_FUNCマクロで作ったcreateメソッドではinitメソッドを呼んでくれるのでinitメソッドで初期化を行います。

最初に必ずスーパークラスのinitを呼び、今回はLogに出力することとします。

TestScene.h

#pragma once

#include "cocos2d.h"

using namespace cocos2d;

class TestScene :public Layer {
public:
	static Scene* createScene();
	bool init() override;
	CREATE_FUNC(TestScene);
};

TestScene.cpp

#include "TestScene.h"

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

bool TestScene::init() 
{
	if (!Layer::init())
	{
		return false;
	}
	CCLog("TestScene initialized!");

	return true;
}

最後に、AppDelegate.cppに最初に起動するSceneをTestSceneに指定します。

// create a scene. it's an autorelease object
auto scene = TestScene::createScene();

// run
director->runWithScene(scene);

6

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.