万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    CocosBuilder手順 for cocos2d-x

    CocosBuilderが使いやすいっぽい。
    これは、ゲーム部分というより、タイトル画面とかステージ選択画面とかで使うのが吉だと思う。

    注意!Version 2.1のにcocos2d-xが対応したようだ。
    RC版「Release Candidate(製品候補版)」だが、「Version 2.1 RC 3」を使うように(2012/10/14現在)

    cocos2d-iPhoneのために作られたっぽいが、
    しかも、cocos2d-xでも使えるらしい。

    URL:http://qiita.com/items/40fa88d149fdecaa9f86
    「Example」を公式サイトからダウンロードしてProjectへ追加している、
    しかし、cocos2d-xには専用のクラスがすでに同梱されているのでしなくてよさそう。

    cocos2d-xのフォーラム
    URL:http://tillawy.wordpress.com/

    1. プロジェクト作成
    CocosBuilderを起動して、File -> New -> New Project… にて、実際のcocos2d-xプロジェクトの
    ※〜.xcodeproj->の中に「CocosBuilder Files (start here)」フォルダを作って、その中に作成した「Project」フォルダで作成するのが好ましい。

    「CocosBuilder Files (start here)」フォルダに「Resrources」を入れてそれは、画像の管理にする。

    2.Publish先設定
    「File -> Project Settings…」にてどこにファイルを保存するかが選べる。

    参考のサイトと同様、「CocosBuildet Test」の略で、CCBTestにした。

    3.ZIPで保存する設定はしない

    zip形式で保存するにはチェックする。後ほど説明するPublishするときにzipになる。
    チェックしないと「"〜.ccbi」になる。

    が!!!cocos2d-xは対応してないのでチェックしない

    Please note that cocos2d-x can’t read archive zip files (AFAIK), so you need to uncheck (public to zip file) in cocosbuilder project settings

    4.レイヤーファイルの作成
    「File -> New -> New File…」からメニューを出す。

    「Root object type」を「CCLayer」にして作成。
    実際に作られるのはmmファイルとかではなくて専用の.ccbファイルが出来るようだ。



    左下のProject内に一覧が出てるがそこにレイヤーが追加される。

    ※次回からこれを開く


    右上の設定は、このように名前を入れる。
    CCBTestにした。これはあとからPublishされる名前になるはず。

    すると、
    左上のStructureにレイヤーが追加される。

    5.Publishする
    Publish(option+command+S)を選ぶ!

    2.0のバージョンはPublish Archive File(option+shift+command+S)もあった。


    「CCBTest.ccbi」ファイルができます!

    これで、CocosBuilderの作業は終わり

    6.素材を移す


    ドラッグ&ドロップしてResourcesフォルダからXCodeへ「CCBTest.ccbi」をコピー。

    このメニューはデフォルトにした。

    7.最後に組み込み

    今回、AppDelegate.cppを改変する。
    もともとは、HelloWorldシーンを実行させている。

    ・AppDelegate.cppの上がわのinclude設定。

    #include "CCBReader.h"
    #include "CCNodeLoaderLibrary.h"

    ・AppDelegate.cpp

        // create a scene. it's an autorelease object
        CCScene *pScene = HelloWorld::scene();
        // run
        //pDirector->runWithScene(pScene);
    

    ↓これを今回のやつに置き換える。

        cocos2d::extension::CCNodeLoaderLibrary * ccNodeLoaderLibrary = cocos2d::extension::CCNodeLoaderLibrary::sharedCCNodeLoaderLibrary();
        cocos2d::extension::CCBReader * ccbReader = new cocos2d::extension::CCBReader(ccNodeLoaderLibrary);
        CCNode * node = ccbReader->readNodeGraphFromFile("CCBTest.ccbi");
        CCScene * scene = CCScene::create();
        if(node != NULL) {
            scene->addChild(node);
        }
        ccbReader->release();
        // run
        pDirector->runWithScene(scene);
    


    ↑のコードのcocos2d::extension::が長くてうっとおしいので

    USING_NS_CC_EXT;
    

    を一番上に追加して、

        CCNodeLoaderLibrary * ccNodeLoaderLibrary = CCNodeLoaderLibrary::sharedCCNodeLoaderLibrary();
        CCBReader * ccbReader = new CCBReader(ccNodeLoaderLibrary);
        CCNode * node = ccbReader->readNodeGraphFromFile("CCBTest.ccbi");
        CCScene * scene = CCScene::create();
        if(node != NULL) {
            scene->addChild(node);
        }
        ccbReader->release();
        pDirector->runWithScene(scene);
    

    にしてもいい

    ↓のように、ファイル名間違ってなくてもなぜか出来ない場合はCocosBuilderのVersionを確認しよう

    ット思ったが、できない!!!