2015年11月22日日曜日

Cocos2d-xでの複数解像度ディスプレイへの対応方針 その1

過去にいくつかAndroidアプリを作って来ましたが、あまりちゃんと理解していなかった解像度についてCocos2d-xでゲームを作成するにあたり正確に理解する必要が出てきたのでその内容をまとめる。

ちなみに、以前の理解レベルは、

ん、解像度?dpで指定しとけばいいんでしょ?アイコンサイズもとりあえずxhdpiのサイズまで用意しておけばいいんでしょ?


というレベル・・・。

因みにこの話の結論(方針)としては、

  • iOS端末をベースとした低解像度から高解像度の画像をいくつか用意する
  • 動作デバイスの解像度に応じて用意したうちの最適なものを利用する
  • 選択した画像のアスペクト比とデバイス画面のアスペクト比が合わない場合はデバイスに応じて縦に合わせるか横に合わせるかを決める

になります。


さて、ここからが本題。まず解像度という言葉であるがWikipediaによると、

画面解像度(がめんかいぞうど、Display resolutionScreen resolution)とは、慣用的にコンピュータ等のディスプレイに表示される総画素数を指す。

この、総画素数は縦と横のピクセル数を掛け合わせたものになる。
また、総画素数が高くても実際に表示するディスプレイのサイズが大きければ1インチ辺りの画素数が少なくなるため粗い表示になる。
つまり、一般的に”高解像度=美しい”という理解がされているがこの高解像度の背景には今までと同じ画面サイズだけど解像度が上がったんだよという前提がある。
具体的な例で言うとAppleが出したRetinaディスプレイがわかり易いあれは今までと物理的に同じ画面サイズであるが、1インチ辺りの画素数が二倍になりましたよ、だからこれまでよりも綺麗に見えますよという話。

ほうほう、ではiOSではどんな解像度のデバイスがあるのかなと調べてみたところ
端末ピクセルデバイスディスプレイサイズ
iPhone,3G,3GS320x480320x4803.5
iPhone4,4S640x960640x9603.5
iPhone5,5s,5c640x1136640x11364
iPhone6,6s750x1334750x13344.7
iPhone6 Plus,6s Plus1242x22081080x19205.5
iPad,2768x1024768x10249.7
iPad Mini768x1024768x10247.9
iPad 3,4,Air,Air2 1536x20481536x20489.7
iPad Mini 2,3,41536x20481536x20487.9
iPad Pro2048x27322048x273212.9
と、かなり たくさんバリエーションがあることがわかった。
ゲームアプリの背景画像を綺麗に見せたい場合は上記表の2列目の解像度と同じ画像を用意すれば良いが、それはかなり大変。

ましてやAndroidの場合も全てのデバイスの解像度の画像を用意するのはほぼ不可能なので、iOSの代表的な解像度に対応を行いその他についてはこちらのブログでも紹介しているやり方で対応をすることにする。

ひとまず今回は以上。




0 件のコメント:

コメントを投稿