Cocos2d と Tiled で Retina 対応

※ fnet-apps.blogspot.com からの引っ越し記事です。



Cocos2d と Tiled で Retina ディスプレイ対応をした際の問題を解決しました。
TMX ファイルを Retina 用に変換するだけでは上手く表示されず、このファイル内の値を色々と変えながら調査した結果、TMX から取得した値が Y 軸のみおかしいことに気付きました。
似たような事例を探したところ、
tmx-map-does-not-read-objects-position-properly-when-running-retina
が参考になりました。
結論としては、取得後の値に対して再計算を行うことで調整しました。

< Cocos2d と TMX ファイルを使って Retina ディスプレイに対応する場合 >
以下、注意点及び備忘録です。
  • TMX ファイルの Retina ディスプレイ版を作る
    こちらが参考になります。
    how_to_develop_retinadisplay_games_in_cocos2d
  • TMX ファイルで使われている画像ファイルの Retina ディスプレイ版を作る
    これは通常の Retina 対応と同じです。
  • プログラム内で取得している座標が正しいかどうか確認する
    基本的に、Retina 対応をしても座標の値が変わらないようにします。
    Retina 用の TMX ファイル内では、1タイルのサイズが通常の倍になっているので、CC_CONTENT_SCALE_FACTOR() などを使ってプログラム内で調整します。