ゲームを作成してサーフェイスビューを使用しています。 文字と背景などを表すビットマップを読み込みます。Android開発:さまざまなデバイスに合わせてスケールする
しかし、大型デバイスや小型デバイスなどのデバイスに合わせて適切にスケールするにはどうすればよいですか?あなたはサイズを変えるとさせるのにアプリのために必要な各ビットマップのために複数の画像を作成することにより、
ゲームを作成してサーフェイスビューを使用しています。 文字と背景などを表すビットマップを読み込みます。Android開発:さまざまなデバイスに合わせてスケールする
しかし、大型デバイスや小型デバイスなどのデバイスに合わせて適切にスケールするにはどうすればよいですか?あなたはサイズを変えるとさせるのにアプリのために必要な各ビットマップのために複数の画像を作成することにより、
あなたは、デバイスの解像度に基づいて計算を要求するために使用できるヘルパーメソッドを実装することができ
このqustionから@MitulNakumの回答に基づいて、このん。
//note that mdpi is the standard
float getAdjustedDimension(float value){
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch(metrics.densityDpi){
case DisplayMetrics.DENSITY_LOW:
//api 4 and higher
return 0.75 * value;
case DisplayMetrics.DENSITY_MEDIUM:
//api 4 and higher
return value;
case DisplayMetrics.DENSITY_HIGH:
//api 4 and higher
return value * 1.25;
case DisplayMetrics.DENSITY_XHIGH
//api 9 and higher
return value * 2;
case DisplayMetrics.DENSITY_TV
//api 13 and higher
return value * 1.33125;
}
}
アンドロイドサポートされている方法があるキャンバスを使用してwhhen
//サイモン
注* dpiの文句を言わない仕事、ピクセルのみが動作しますappは、指定された画面密度に使用するものを決定します。これらの画像はdrawable-ldpi、drawable-hdpiなどのフォルダに格納されます。リンクをチェックして閉鎖してください:http://developer.android.com/guide/practices/screens_support.html
あまりメモリにはやらないですが。 :(
を取りますAndEngineのカメラを見てくださいあなたが探しているものはすべてそこにあり、オープンソースです!私はこのエンジンをいくつかのゲームやプロトタイプアプリケーションに使用しています。
申し訳ありませんが、エンジンにintresstedされていません。 – carefacerz
二つの重要な点は、おそらくmetrics.densityDpiをキャッシュする必要があり、これはゲームのために非常に効率的ではありません。 – Gallal
なぜmetrics.density *値を返さないのですか? – MrJre