cocos2d-x画像の表示と解像度

Pocket

くまのがっこう神経衰弱バトル

様々なディスプレイのサイズに合わせてゲームをつくるのにはどうしたらよいのでしょうか。書籍などには様々な設定方法とその表示結果が紹介されていますが結局どれを選択したらよいのか?できるだけ手間をかけずに対応したかったので以下の条件でいろいろ試しました。

  • ゲーム画面のデザインが簡単
  • プログラムへの画像の組み込みが簡単
  • 解像度に関係なく用意する画像は1つにしたい
  • スマホだけ考えてタブレットの画質は考慮しない

その結果、ゲーム画面は以下のルールで作成することに決めました。

  • ゲーム画面は640 x 1136 pxで設計
  • 画像の座標は640 x 1136 pxの中央を原点とする
  • ゲームの操作は中央を原点とした640 x 960 pxの範囲内にする

このルールで作られた画像をResolutionPolicy::NO_BORDERでディスプレイにフィットさせて表示しています。

game_display

実際にこの条件で作った画面をiPhone 4, iPhone 5s, nexus 5で表示してみて操作と画質に問題がないと判断してこの仕様に決めました。iPhone 4をサポートしていることもありますがiPadで操作できないとappleの審査でリジェクトされるのでゲームの操作は640 x 960 pxの範囲内で可能にしています。

AppDelegate.h

AppDelegate.cpp

画像の位置は画面の中央を原点にしてデザインしています。

game_design

画面のデザインもプログラムへの画像の組み込みも中央が原点の方が直感的に解りやすいのでこの方法に決めました。

プログラムで画像の座標を指定するときは中央が原点の座標を画面の原点へ変換する関数を使用しています。左端と右端を原点とした座標の変換も実装しています。

HelloWorldScene.h

HelloWorldScene.cpp

 

sample1私たちはこのような方法でゲームをデザインしています。

Pocket

投稿者: Kei Osumi

GAME SHONENのプログラマー

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です