CocosBuilder は無料で使用できるツールで、CocosBuilder を使用すると InterfaceBuilder のように画面レイアウトが簡単に行えるようになります。cocos2d-x も ver2.0 になってから CocosBuilder で作成したファイルを読み込む CCBReader クラスが実装されたため使えるようになりました。

まずは単純に CocosBuilder で作成した画面を表示するコードです。


このコードでは、画面レイアウトなどはできますが、CocosBuilder で作成した画面とコードのやり取りはできません。
やり取りするためには、CocosBuilder でカスタムクラスを指定する必要があります。

CocosBuilder でカスタムクラスを指定する

CCTestLayer というクラスを指定した例

カスタムクラスを指定した場合は読み込み方法を少し変える必要があります。
例えば、この CocosBuilder で作成した CCTestLayer に CCMenuItem を追加してタップされた場合にプログラムで通知を受け取れるようにするには下記のようにします。

まずは、CCLayerLoader クラスを継承したクラス(TestBuilderLoader)の作成と CCTestLayer クラスを作成します。

次に CocosBuilder で CCMenuItem を追加して Selector を上記で作成した CCTestLayer クラスのメソッドを指定します。

CCMenuItem に Selector を設定

CCMenuItem に Selector を設定

最後に CocosBuilder のファイルを読み込む部分を修正します。

これで、CCMenuItem をタップすると “button tapped” とログに出力されるはずです。
注意点は CocosBuilder で修正して再 Publish した場合は Xcode で Clean & Build した方が確実です。

関連する投稿