head_hexagonはにらぼ☆てっくtale_hexagon

cocos2d-xでWindowsアプリ開発環境も作ってみた

Posted by kiyokazk on 2013/02/04 under Development | Be the First to Comment


cocos2d-xが思ったより便利なので、Windowsアプリの開発環境も作ってみました。ちょっとした2DものならDirectXよりも楽そうな気がするし、マルチプラットフォームを考える場合はXNA使うよりソースの使いまわしができる期待もあるのでちょっと試してみようかと。

  • 使用言語はC/C++
  • Visual Studioで開発

というcocos2d-x環境を作ります。ちなみに今回試したのは、Windows 7 / Visual Studio 2008です。

■cocos2d-xのダウンロード、インストール

cocos2d-xがない人はまずは公式サイトのダウンロードから入手して適当なフォルダに展開しておきます。(今回自分が試したのは、cocos2d-2.0-x-2.0.4です)

■Visual Studio用ウィザードテンプレートのインストール

展開したcocos2d-xの中に、install-templates-msvc.batというファイルがあるのでダブルクリックして実行します。DOS窓が出てなにやらごにょごにょとインストールされれば成功。Visual Studioの新規プロジェクト作成などにcocos2d-xのテンプレートが追加されます。

■Visual Studioでサンプルプロジェクトを作成

まず、Visual Studio 2008でcocos2d-win32.vc2008.sln(2010とか2012とか他のバージョンを使う人はそれぞれそのバージョンのもの)を開くとライブラリのプロジェクトがいくつかソリューションに含まれてることが確認できます。

新規プロジェクトを作る

ソリューションを右クリックして、追加→新しいプロジェクト

新規プロジェクトSS

テンプレートとしてCocos2d-win32 Applicationが追加されてるはずなので、それを選択して適当なプロジェクト名を入れて適当な場所に保存します。

winshot000091

作成されたプロジェクトはいくつかのライブラリを必要とするので、プロジェクトを右クリック→プロジェクト依存関係を開いて、「libCocos2d」「libCocosDenshion」にチェックを入れておきます。

ビルドして実行

作成したプロジェクトをビルドして実行すると、いつものcocos2d-xの画面がウィンドウに表示されます。

winshot000093

文字の変更と画像の変更

プロジェクト内のsourceのHelloWorldScene.cppを変更し表示されるテキストが変更されることと、画像をresourceに追加し背景画像の指定を追加した画像に変更することで、それぞれが変わることを確認してみます。

winshot000095

(おまけ)Visual Studio 2012

ついでにVisual Studio 2012でも問題なく動作するかどうかを確認してみました。今から入れる人は2012の人が多いですよね。

winshot000096

同様の手順で、特に問題なくVisual Studio 2012でも新規プロジェクトの作成、動作することが確認できました。

“cocos2d-xでWindowsアプリ開発環境も作ってみた” への2件のフィードバック

  1. クラリス より:

    cocos2d-x win32でCCLabelTTFを用いて日本語を表示する方法をご存じないでしょうか?日本語フォントを設定しても表示されず文字化けしてしまいます。ソースコードの文字エンコードをutf-8シグネチャ付きにしても
    だめでした。vs2010,cocos2d-2.1rc0-x-2.1.2-hotfixを使用しています。

  2. kiyokazk より:

    >クラリスさん
    上記で作成したサンプルプログラムでCCLabelTTFを用いた日本語の表示をいろいろ試してみたところ上手くいったので共有します。

    結論から言うと、CCLabelTTFのcreateで渡す文字列をUTF-8にすることで表示できました(ソースコードの文字エンコードをutf-8にして上手くいかない理由はよくわかりませんが)。ちなみにフォントは”MS Gothic”と”Meiryo”を設定してどちらでも表示できました。

    こちらで試してみた方法は、
    1. 表示したい文字列をShift-JISの文字列で用意する
    2. Shift-JIS文字列をMultiByteToWideCharでCP_ACPを指定してUnicodeへ変換
    3. Unicode文字列をWideCharToMultiByteでCP_UTF8を指定してUTF-8へ変換
    4. UTF-8文字列を使用してCCLabelTTFを作成、表示
    です。
    Shift-JIS、UTF-8の両方ともマルチバイト文字列なので直接変換できないため、Unicodeを経由しています。

    こちらの方法ではいかがでしょうか。ご参考になれば。

コメントを残す