• TOP
  • >
  • その他
  • >
  • Scene(シーン)を作成する

Scene(シーン)を作成する

cocos2dxでプロジェクトを作成する際に、必ず設定をしないと行けないのがシーンになります。
これはSceneクラスで設定をします。
ゲームの基礎になるのが、このSceneなのです。

CCScnen0408

HellowWorldScene.cppに以下のようにシーンが設定をされています。

【Ver3.x】
//ヘッダー
    static cocos2d::Scene*scene();



Scene* HelloWorldScene::scene()
{
    auto scene = CCScene::create();
    auto layer = HelloWorld::create();
    scene->addChild(layer);
    return scene;
}

【Ver2.x】
//ヘッダー
    static cocos2d::CCScene*scene();



CCScene* HelloWorldScene::scene()
{

    CCScene *scene = CCScene::create();
    HelloWorld *layer = HelloWorld::create();
    scene->addChild(layer);
    return scene;
}

Sceneを単独で利用

上記の例では、SceneとLayerが同じファイルに記載されていますが、Scene単独でももちろん利用できます。
SpriteやLayerクラスと同じようにinit()を使い初期化をします。
【Ver3.x】
//ヘッダー
static cocos2d::Scene *scene();
virtual bool init();

Scene *HogeScene::scene(){  
    auto scene = HogeScene::create();
    return scene;  
}

bool HogeScene::init(){
    if (!Scene::init()) {
        
        return false;
    }
    
    auto layer = HogeLayer::create();
    this->addChild(layer);
    return true;
}

【Ver2.x】
//ヘッダー
static cocos2d::CCScene*scene();
virtual bool init();

CCScene*HogeScene::scene(){
    
    HogeScene*scene = HogeScene::create();
    
    return scene;
    
}

bool HogeScene::init(){
    
    if (!CCScene::init()) {
        
        return false;
    }
    
    HogeLayer *layer = HogeLayer::create();
    
    this->addChild(layer);
    
    
    return true;
}

アプリを立ち上げた際の、最初のシーンを設定する

アプリを立ち上げるとこのシーンが表示されるのですが、これはどこで管理をしているのでしょうか?
それは、[AppDelegate.cpp]で管理をしています。

runWithSceneというメソッドを利用している箇所があります。
ここで、最初に表示するSceneを指定しています。
bool AppDelegate::applicationDidFinishLaunching(){

~~~
~~~
~~~
  //ここで、最初のシーンを設定している。
 // create a scene. it's an autorelease object

    //Ver3.x
    auto scene = HelloWorldScene::scene();
    director->runWithScene(scene);

    //Ver2.x
    CCScene *pScene = HelloWorldScene::scene();
    pDirector->runWithScene(pScene);



            

経営育成ゲーム「わたしの動物園」をリリースしました!

cocos2dxを使って作成したアプリを作成しました。
無料で遊べますので、ぜひゲーム作りの参考にしてみて下さい!

【Sponsored Link】

更新履歴