3

私のゲームでは、グラフィックをそれぞれのフォルダーに入れ、密度設定と実際の解像度に基づいてスケーリングします。これは、画面のサイズや密度に関係なく、ゲームが同じように見えるようにするためです (同じ縦横比を維持し、比率に応じて「世界」をわずかに増減するようにします)。

これに関する私の問題は、nexus 7 と Sony Xperia mini (新しいもの) の画面サイズの違いです。前者の解像度は 1280x800、後者の解像度は 240x480 ですが、nexus は 7 インチのタブレットで、Sony Xperia は小型の携帯電話であるため、どちらも中密度 (DisplayMetrics で指定) に分類され、両方ともdrawable-mdpi フォルダー。

これは、drawable-mdpi グラフィックスを 1280x800 のスケールで描画する必要があることを意味します (ダウンスケールのみを確実にするため)。

スケーリングが機能しないため、余分な画面サイズ修飾子を実際に使用することはできません。たとえば、 drawable-large-mdpi フォルダーと drawable-small-mdpi フォルダーを使用できますが、密度フラグは同じままであるため、コードはいずれかのフォルダーから取得したグラフィックを同じ量だけスケーリングし、それらは異なるサイズのグラフィックであるため、それらは異なる量でスケーリングする必要があります。

いくつか質問があります。

1) 密度フラグに基づいてスケーリングするという私の考えは根本的に間違っていますか? 基本的な考え方は、その密度の最大のグラフィックスをそれぞれのフォルダーに配置し、そこからデバイスの解像度に縮小することでした. これは 2 つの問題を解決するためでした。1 つ目は、サイズと密度に関係なくゲームが同じように見えるようにすること、2) スケールアップする必要がないことを確認することです。

2)これについて行った方法に根本的な欠陥がない場合、同じ量でそれぞれをスケーリングしながら、異なる画面サイズと密度に異なるグラフィックを提供するにはどうすればよいですかsmall-mdpi フォルダーと 1280x800 を large-mdpi フォルダーに配置し、どちらも同じ DisplayMetrics 密度フラグを持っているにもかかわらず、それらを異なる方法でスケーリングする必要があることを知っています)?

ありがとう

編集:これはOpenGL 2Dゲームです。違いが生じる場合に備えて(そうなると思います)。

4

0 に答える 0