2011-01-17 16 views
2

アンドロイドプラットフォーム用の2Dプラットフォームゲームを開発していますので、実際の解像度はピクセル単位で表示しています。私がネット上で集めたものから、いくつかの異なる解像度(およびアスペクト比)があります。私の調査によると、現在普及している2つの解像度は、480x320(1.5)と800x480(1.666)です。私はこれらの2つの決議を、ほとんどの顧客に届けることを目標にしたいと思います。 ここでは、より大きいディスプレイの場合は40ピクセルの黒い境界線を表示し、それを720x480ピクセルに縮小し、比率を1.5にすることで、さまざまなアスペクト比に対応できます。ピクセルベースのアンドロイドゲームのさまざまな解像度を扱う

私のゲームの問題は、プレイヤーが各画面で同じ量の世界を見ることが不可欠であるということです。さもなければ、いくつかの選手は不公平な利点を得るでしょう。さらに、私は可視性に応じていくつかのイベントを引き起こします。例えば、敵は、プレイヤーが視線を開始したときにのみ、射撃を開始することができます。さもなければ、敵の弾丸はどこから来ていないように見えるでしょう。

私はグラフィックスを1つの解像度で作成し、もう一方の解像度でスケーリングする必要があると考えました。または、それぞれの解像度ごとに別々のグラフィックスを作成します。そうですか?残念なことに、両方の方法は、ピクセルグラフィックスにとって最適ではありません。

他にも、ゲームをこれらの解像度(特にAndroidマーケットの場合のみ)に制限するにはどうすればよいですか?私はマニフェストの "supports-screens"タグについて知っていますが、有効な画面サイズに応じて動作します。ピクセルではなく、誤っていますか? 解決の独立性に関しては、他のアンドロイドゲーム開発者の個人的な経験にも興味があります。

ありがとうございます!

+0

私はちょうど2つのDPIを処理するつもりなら、アンドロイドは干渉しないで、getRawXなどを使って自分自身をスケールします。そして、大画面では4ピクセル描画します小さな画面のそれぞれのために。幸運 –

答えて

3

私の質問は次のようになります。あなたがPC上でどうなるのかと思いますか?ゲーム開発の場合、AndroidはコンソールよりもPCターゲットのように見えるはずです。あなたは、本質的に前景を予測することができない多様なスクリーンが存在することを受け入れる必要があります。

だから私は取るには、2つの主要なアプローチがあると思う:

はあなたがPC上の固定されたビデオの解像度を設定し、それをユーザのモニタの契約をせたかのように、(1)一定の「表示サイズ」を使用してください。もちろん、これらのデバイスにはモニターがなく、固定ディスプレイが1つしかないため、コアの解像度を変更することは意味がありません。代わりに、あなたのゲームが固定解像度で表示されるようにSurfaceViewを設定し、画面に合成されるときにプラットフォームのコンポジタントが(ハードウェアで)それをスケーリングするようにすることができます。

(2)自分が見つけた画面の実際の解像度に、よりインテリジェントに調整します。自分でグラフィックを拡大または縮小して、自分が好きなプレイエリアを作成します。多少のサイズのテクスチャがあり、画面の解像度に適したものを選択することもできます。

これらの組み合わせを行うこともできます。ここでは、ゲームがうまく実行できる合計解像度に応じて表面ビュー用に選択した2つの固定サイズがあります。どちらの場合でも、必要に応じて異なる画面でアスペクト比を一定に保つために、レターボクシングを適切に行うことができます。

+0

ありがとう!私が好きだった答えではありませんが、それは私には容易な道がないことを認識させました。私は今anyDensity = "false"を使って異なる解像度でアンドロイドを扱えるようにしています。そうすれば、ほとんどのディスプレイではピクセルグラフィックスが少し悪化しますが、解像度、濃度、比率などを別にする必要はありません。 –

+1

あなたはこれらのアプローチについてどうやっていくべきかについていくつかのリソースを教えてください。私はAndroidのコンテキストでアプローチ1についてもっと知りたいと思っていますが、アンドロイドのドキュメントでは、標準のXML/Layout/"dips"フォーマットを使用していて、GLSurfaceViewに描画していないと思います。 – scriptocalypse

+0

これらの異なるケースを扱うための記事を書いています。http://alexis.pautrot.com/dealing-with-different-screen-sizes/を参考にしてください。私はそれをGoogleのリファレンスと画面サイズに関する最新の統計に基づいています。 –

1

アスペクト比の違いに3つのアプローチがあります

  1. は、いくつかの割合(「レターボックス」)上の不透明の境界線を表示します。
  2. いくつかの比率でゲームの世界の詳細を表示します。
  3. 一部の比率ではまったく動作しません。

アプローチ(1)では、一部のデバイスで画面のスペースを浪費します。テレビではそれほど大きな問題ではありませんが、画面のスペースが限られているハンドヘルドデバイスでは悲惨です。アプローチ(2)では、いくつかのデバイスのプレイヤーが利点を得て(世界の多くを見ることができる)、不利益(スプライトは小さくなるため、タッチの精度はより高くなります)。アプローチ(3)はちょうど吸う。

明らかにそれはあなたのゲームの詳細によりますが、プレーヤーとしてはアプローチ(2)を好むと思います。他のデバイスのプレーヤーが少しの仮想的な利点を得るかどうかを気にする選挙区は、画面が不必要な黒い棒によって部分的に隠されているかどうか気にする選挙区に比べてかなり小さい。

(同様のアプローチとの発言は、解像度の違いに適用されます。)

関連する問題