2012-04-28 4 views
1

アンドロイド用のゲームを作成しようとしています。アンドロイド用のベストプラクティスに関する2つの質問があります。私が書いているゲームには、画面の上部にいくつかのダイスがあり、ユーザーはドラッグできるはずです。スクリーンの下半分には、別の番号のリストを表示する必要があります。サイコロは新しい場所に落とされます。だから、これに取り組むための最善の方法は何ですか?私は、単一のビューを使用していくつかのサンプルコードをコーディングしました(そして動作します)、そしてダイスのビットマップと数字を描画しますが、すべてが解像度に依存しているのでバグです。 xml定義のビューに切り替えて、ダイスビューと数値リストビューを追加してそれらを別々に描画することで何かを得ることはできますか?私が従うべき標準またはベストプラクティスはありますか?Androidのゲーム開発者 - すべてのための単一のビューを使用する?

おかげ

答えて

0

あなたのアプリがさまざまな画面サイズで実行されるようにxmlファイル内のレイアウトを定義することをお勧め..です

あなたはXMLファイルを使用しなければならない理由の詳細については、を参照してください。 Android Design Guidelines

xmlファイルを使用する場合は、サイズにはdpを使用し、テキストサイズにはspを使用する場合は、可能な限りwrap_contentmatch_parentを使用してください。

コード内に濃度に依存しないピクセルを作成することもできます。これを確認してください。..

public float typedDimension(int a){ 
     return TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_DIP, (float) a, 
        getResources().getDisplayMetrics()); 
    } 
0

まず、SurfaceViewは、ゲーム開発のための良い選択である - それはあなたの標準のビューよりもはるかに優れた性能が得られます。

第2に、私が使用して見てきた素晴らしいテクニックは、標準サイズのオフスクリーンサーフェイスに書き込んだ後、そのビットマップを画面のサイズに拡大することです。サイズの異なる画面がある場合でも、すべてが正しい場所に残ります。スケールアップするのではなく、スケールダウンする必要があるので、下位デバイスで多すぎるメモリを使用しないように、異なるサイズのイメージ(mdpi、hdpi、xhdpi)を使用することをお勧めします。

関連する問題