Cocos2d-x 3.2 の開発環境構築手順

3.0から放置していましたが、3.1をすっとばして、Cocos2d-x 3.2 の開発環境手順をまとめました。

ぎじゅつめも | Cocos2d-x開発環境の構築

3.0 で作成しているローカルのプロジェクトを3.2にアップデートする作業をしないとだめなんですが、それはまた後日・・・。

静的コンストラクタ

クラスの静的コンストラクタを実現する方法を紹介します。
起動時に一度だけ行いたい処理を書く時などに便利です。
ただし、他のstaticなオブジェクトと同じく、初期化順番は保証されない点は注意してください。

ヘッダはこんな感じ。

class Hoge
{
private:
	//! 静的コンストラクタ用のprivateな構造体
	struct Construct
	{
		Construct()
		{
			// ここに初期化処理を書きます
			sm_hoge = 0;
		}
	};
private:
	static Construct	sm_construct;	//!< 静的コンストラクタ
	static int			sm_hoge;
};

cpp側はこんな感じになります。

Hoge::Construct	Hoge::sm_construct;
int				Hoge::sm_hoge = 0;

ご覧のとおり、今回のパターンだとsm_hogeはもともと0で初期化しているので静的コンストラクタで処理している内容に意味はなかったりします。

Cocos2d-xプロジェクトをVisualStudioでビルドした際に出る警告 C4819 の解消方法

VisualStudio2013で、Cocos2d-xのプロジェクトをビルドすると CCSAXParser.h 等で、
warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
な警告が出てしまいます。

CCSAXParser.h は、utf8形式のエンコードなのですが、『BOM』が付いていません。
VisualStudioのutf8はBOM付きじゃないとダメだという噂です。
というわけなので、BOMを付けて保存し直しましょう。

VisualStudio2013上で、エンコードの変更ができます。

CCSAXParser.hを開いてからツールバーのファイル>保存オプションの詳細設定
を選択します。
エンコードを
Unicode(UTF-8 シグネチャ付き) – コードページ65001
にしてOK。ファイルを保存します。これで、utf8のBOM付きで保存されます。

エンコード変更の必要があったファイルは
CCSAXParser.cpp
CCSAXParser.h
CCScale9Sprite.h
CCTMXXMLParser.cpp
MciPlayer.h (これはすでに文字化けしていました)
CCFont.cpp (これはエンコード変更するとwarning C4566: ユニバーサル文字名 ‘\u00A1’ によって表示されている文字は、現在のコード ページ (932) で表示できません な警告が新たに発生してしまうので、スルーしました)
plane.c
vec3.c
になります。

この状態でリビルドすれば、警告がなくなっているのが確認できると思います。

*Cocos2d-xのバージョンは 3.0 beta2 です。

CocoStudioのAnimation Editorで出力したアニメーションを再生する

Cocos2d-x 3.0 beta2 で
CocoStudioのAnimation Editorで出力したアニメーションを再生する手順をまとめました。
windows版、android版で再生しています。
CocoStudioのAnimation Editorで出力したアニメーションを再生する | ぎじゅつめも

アプリを作って3000円!Monaca×nendアプリ開発キャンペーン

アプリを作って3000円!Monaca×nendアプリ開発キャンペーン | http://blog.asial.co.jp/1182

ちょうど何日か前、Monacaという、コーディングから最終ビルドまで全てブラウザ上で完結できるすばらしい無料サービスを発見して、これはいい!ということで、ちょっとしたAndroidゲームを制作しているところでした。

そんなところに、なんと良いタイミングでこのキャンペーン・・・!

Monacaの開発、運営を手がけているアシアルさんのブログでMonaca環境でnendを表示するエントリがあったので、広告もnendに決めたところでした。

自分はhtmlやJavascriptの知識はあまりありませんが、まあJavascriptならなんとかなるだろうとenchant.jsというお手軽なゲーム制作ライブラリを使用することにしました。

そんなこんなで、環境は monaca + html5 + enchant.js + nend で決定。

htmlやJavascriptに苦労しつつも現状なんとかゲームの大まかなシーンの流れとnendで広告表示のレイアウトまでうまくいきました。
htmlが理解しきれていないのでhtml+enchant.js+nendの環境で、広告とゲーム画面両方をきれいに表示させるのになかなか苦労しました。

この辺りは、自分の理解が深まった頃にでも、まとめて記事にしたいなと思っています。

Eclipse Orion 1.0 リリース

ブラウザで使えるクラウド型IDEでいいのないかなーと探していたところ、こんなニュースを発見。

Eclipse開発のブラウザIDE「Orion 1.0」登場

Orionチームは29日(米国時間)、Orionの最新版となる「Orion 1.0」を公開した。Orionはブラウザ上で動作するWebベースの統合開発環境。OrionチームはEclipse Foundationの支援のもと2011年初頭より開発をスタートさせたプロジェクトで、WebブラウザのみでWeb開発が行えるオープンソースの統合開発プラットフォームの提供を目的としている。

Orion 1.0は、6月に公開されたOrion 0.5以来のアップデートで初のメジャーリリースバージョン。Orion 1.0では外観の選択やカスタマイズ、エディタのルールカラーなどが設定できる新たなセッティングページやブラウザ内でRAWファイルを開ける機能、Gitとの親和性の向上、ブックマークの編集機能、プラグインの無効化などが実装された。

Orion 1.0はこちらより取得できる。もしくは専用サイト「Orionhub.org」でアカウントを作成することでも利用が可能。Orionチームでは4ヶ月ごとのリリースを目指しており、2013年2月にOrion 2.0の公開を目指している。

先日Cloud9とShiftEditを試してみたんですが、日本語の都合があまりよろしくないようなのです。
Orionは日本語いけるという情報を見かけたので、後で試してみます。