COCOS2Dxとの連携

gxLibは機種依存性の少ないプログラムでできているため同じC言語環境のCocos2Dx上で動作させることが可能です。二重にレンダラーを通過することになるため動作は重たくなりますので比較的軽いプログラムの移植に適しています。

動作環境

Cocos2dx v3.10
VC2015 Community

cocos2dxと連携しMac環境で動作させることが出来ます。
※ガンハウンド / VISORISERで動作確認しています

Cocos2dxのWindows環境を構築する

もともとWindows環境のgxLibをCocosのWindows環境で起動するのはなにか不思議な感じがしますが、まずはこれで環境を構築しましょう。Cocos2dxのセットアップは済ませておいてください。cocos new で新規プロジェクトが作れる状態にしておきます。

Cocos2dxでの動作確認ができたら、ここにgxLibを載せて動作させ、最後にこれをMac環境にコピーして使用して移植します。

cocos new でプロジェクトを作成する

cocos new タイトル名 -p 会社名 -l cpp

例)

cocos new Sample -p jp.co.garuru.gxLib -l cpp
タイトル名 --->gxLib
会社名   --->jp.co.garuru.gxLib

プロジェクトにgxLibのソースコードを追加する

Classes
+--gxLib
     +--util
     +--hard
          +--cocos2dx

データはResourceの下に入れる

gxLibで使用する「asset」フォルダは「Resource/asset」となるように配置します

Resource
+--asset
     +--visor

プロジェクトファイルを開いてプロジェクトにソースを追加

プロジェクト名/proj.win32/プロジェクト名.vcxproj を開いてVC2015を起動する
ソリューションエクスプローラーの「プロジェクト名/src」にgxLib以下のフォルダを登録する(Hardフォルダ以下はcocos2dxのみ登録する)
Classes/
Classes/gxlib.h
Classes/gameMain.cpp
Classes/gxLib/*/*
Classes/gxLib/util/*.*
Classes/gxLib/hard/machine.h
Classes/gxLib/hard/cocos2dx
Classes/gxLib/hard/cocos2dx/*.*

以下のファイルをソリューショネクスプローラーから削除する

AppDelegate.cpp
AppDelegate.h
HelloWorldScene.cpp
HelloWorldScene.h

gxlib.hの定義でCocos2Dxを有効にする

gxlib.h

#define PLATFORM_WIN32_OPENGL
//#define PLATFORM_COCOS2DX
  ↓
//#define PLATFORM_WIN32_OPENGL
#define PLATFORM_COCOS2DX

リコンパイルする

・デフォルトは「Ctrl + Shift + B」

Visorisorが動けば成功

visor_cocos01.PNG

既知の不具合

WIN32 / MAC環境で動作の確認をしています。
iOS / Androidでは一部スプライト表示の不具合を確認しています。
テクスチャ動画機能など一部のgxLib機能には対応していません

添付ファイル: filevisor_cocos01.PNG 197件 [詳細]