[Cocos2d-x]Cocos2d-x Ver3.0 テンプレートを使ってスムーズに開発する[iOS][Android]

2014.05.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは!Cocos2d-x3.0がリリースされて間もないですが、3.1alphaブランチの開発がスタートされました。

非常にスピード感のあるアップデートですので、日々チェックするのが楽しみな反面、安定バージョンを望む声も多いです。

しかし、デバイスの性能や求められるゲームパフォーマンスが刻々と進化していくので、この辺りの折り合いは付けづらいですね。

今回はCocos2d-x3.0を使っている方向けに、Xcodeのテンプレートを作成しましたので紹介していきます。

まだ、Cocos2d-x2.xを使っていて、Cocos2d-x3.0を使っていない方は是非、 Cocos2d-x Ver3.0 移行のススメ を参考にインストールして下さい。

Cocos2d-xってなんだ?という方は10分でできるCocos Code IDEの導入手順のCocos2d-xとはをお読み頂ければ大体わかります。

今回導入するテンプレートのソースはgithubに公開しました。

Cocos2d-xの開発をスムーズにする

概要

Cocos2d-x3.0をXcodeで使っていて、C++クラス新規作成時に決まったコードを何回も手打ちすることが多かったので、テンプレートにしました。

試験的に作っていますので、後々変更するかもしれません。

※テンプレートはXcodeの拡張です。追加・編集・削除する場合は自己責任でお願い致します。

以下の前提条件で動作確認しております。

  1. Xcode 5.1.1
  2. Cocos2d-x3.0

導入

ターミナルを開いて以下のコマンドを入力してください。

cd ~/Library/Developer/Xcode/Templates/File\ Templates/

※Templatesディレクトリ以降がない場合はmkdirコマンドで作成して下さい。

githubからテンプレートのリポジトリを取得してきます。

git clone https://github.com/Yasuhisa/Cocos2d-x3.0_MyTemplate.git

Xcodeを既に起動している場合は再起動して下さい。

うまくリポジトリからダウンロードできていればクラスを追加する時にタブが追加されています。

クラスを追加しましょう。

cocos_template_01

追加したテンプレートを選択します。

cocos_template_02

好きなクラス名を入力してEnterを押して下さい。

cocos_template_03

作成した.hファイルを開いて、背景色がついている箇所に入力して下さい。

cocos_template_04

Xcodeでは入力箇所と同じ行数にカーソルがある場合、もしくは入力後に次の入力箇所がある場合はTabキーを押せば、候補のところまでカーソルを移動できます。

作成した.cppファイルを開いて、背景色がついている箇所に入力して下さい。

cocos_template_05

.hファイルで継承したクラスをinitし、イニシャライザの処理を記述してください。

create時に引数を渡したい場合は、.hと.cppファイルのcreateメソッドに引数を追加して下さい。

使ってみる

TemplateTest.h

#ifndef __SampleCocosTemplate__TemplateTest__
#define __SampleCocosTemplate__TemplateTest__

#include "cocos2d.h"

using namespace cocos2d;

class TemplateTest : public Layer
{
public:
    virtual bool init();
    static TemplateTest *createTemplateTest(int x);
    CREATE_FUNC(TemplateTest);

private:
    int x;
};

#endif /* defined(__SampleCocosTemplate__TemplateTest__) */

TemplateTest.cpp

#include "TemplateTest.h"

TemplateTest *TemplateTest::createTemplateTest(int x)
{
    auto pInstance = TemplateTest::create();
    pInstance->x = x;

    log("%d", pInstance->x);

    return pInstance;
}

bool TemplateTest::init()
{
    if ( !Layer::init() ) {
        return false;
    }

    log("init called");

    return true;
}

こんな感じでCocos2d-xのクラスをサクッと作れます。

まとめ

今回はXcodeのテンプレートファイルを導入しました。

Cocos2d-xを始めたばかりの時は手打ちして覚えていくのも良いですが、段々面倒になってきたのでテンプレートを作りました。

Xcode限定ですが、良ければ使ってみて下さい。