[Cocos2d-x]Windows(win32)でのビルドと解像度

スポンサーリンク

使用したバージョン:Cocos2d-x 3.0rc1

ビルド

Macで作ってXcode上で開発していたプロジェクトを試しにWindowsに持ってきてproj.win32内のソリューションファイルをVisual Studioで開いてビルドしたところ、コンパイルエラーが出たり実行時エラーが出たり。
UTF-8(BOM無し)+LFで書いたソースの日本語コメントがダメで、次の行までコメント扱いされたりしてたようです。
(参考:UTF8 BOM無+LF改行コードで書かれたソースのコンパイル Visual C++ 2012 + cocos2d-x | Scenery and Fish
とりあえずコメントを全部英語化して対応。

解像度

GLView::setDesignResolutionSize()によるデザイン解像度は元々設定していたのですが、そのままだと横長のウィンドウが出てきてしまいます。
フォーラムとか色々調べた結果、GLView::setFrameSize()でウィンドウサイズ(Cocos2d-x的には「スクリーン解像度」?)を変えられるみたいです。
ただsetDesignResolutionSize()より前に置かないと、デザイン解像度以外のウィンドウサイズ指定時にスケーリングがうまくいかないようです。

640×960はデスクトップにはデカいので、デザイン解像度は640×960のままウィンドウサイズ320×480で起動した例

// AppDelegate.cpp

bool AppDelegate::applicationDidFinishLaunching() {
    // initialize director
    auto director = Director::getInstance();
    auto glview = director->getOpenGLView();
    if(!glview) {
        glview = GLView::create("My Game");
        director->setOpenGLView(glview);
    }

// とりあえずWIN32のみ
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
    // ウィンドウサイズ変更
    glview->setFrameSize(320, 480);
#endif

    // デザイン解像度変更
    glview->setDesignResolutionSize(640, 960, ResolutionPolicy::NO_BORDER);

//(略)

——–
最終的にWindowsで出す予定はなくても、Mac持ってない人にプロジェクト渡したとき簡単にビルドできるので一応使えるようにはしておきたい。。
Androidエミュレータでの実行も試してみましたがなんか上手くいかず中断してます…。

スポンサーリンク

シェアする

フォローする