2013年3月20日水曜日

[XCode/cocos2dx] 画面解像度対応

iPhoneアプリはいくつか作ったけれど、ゲームが作りたくなり、しばらくまえからスマホでゲームを作ろうと四苦八苦しています。

クロスプラットフォームを意識して、開発環境の策定に翻弄し、enchant.jsから始まりいろいろ試した結果、最終的にはやはりというかなんというかcocos2d-xに落ち着きました。物理エンジン(box2d)を利用したいです。

これからはcocos2d-xもからめてブログを書いていきたいと思います。
まずは解像度対応から



cocos2dx画面解像度対応

coco2dxのテンプレートで新規プロジェクト作成後、4-inch画面に対応するには、スプラッシュ画面(LunchImages)を設定すれば認識してくれるみたいです。


解像度に関しては@2xが推奨されていないようで、フォルダ単位で画像を分けることになります。


あとは、AppDelegate::applicationDidFinishLaunching{} で以下の関数を呼ぶようにすれば画面解像度には対応できました。


この関数では、以下の2点を設定しています。
  • 開発ベースサイズの調整(480x320ベースで実装を行う(4inchのみ568x320))
  • イメージ取得フォルダの調整
イメージは以下のそれぞれのフォルダより取得されることになります。
  • @2x -> Resources/Published-iOS/resources-iphoneh
  • 通常 -> Resources/Published-iOS/resources-iphone

どうやら、以下の2つのメソッドは[cocos2d-2.0-x-2.0.4]にはないようで、[cocos2d-2.1beta3-x-2.1.1]にて確認がとれました。(ソース読む必要があり、ここにかなりはまった...)

    CCFileUtils::sharedFileUtils()->setSearchPaths(searchPaths);
    CCFileUtils::sharedFileUtils()->setSearchResolutionsOrder(resDirOrders);

参考