開発者は各リソース (中密度と高密度) の 2 つのコピーを含めますか? それとも高密度リソースは低密度デバイス用に単純に縮小されますか?
これは物事を処理する1つの方法です。私は次のことが行われているのを見てきました:
- サポートしたい各解像度のビットマップを含めます
- サポートしたい最高の解像度のビットマップを含め、他の解像度の場合は縮小します。
- サポートする最高解像度のベクター グラフィックスを使用します。
方法 2. または 3. を使用する場合、これが私が処理する方法です。
- 960 x 1600 の画面サイズを対象とするアセットを作成します。
- 480 x 800 - 半分に拡大
- 320 x 400 - 3 分の 1 に拡大
これにより、今後の計算に必要な画面密度の値が得られます。
私は方法3を好みます。
現在、ディスクから .svg アセットをロードし、ステージの「ロード」部分で「ビットマップに描画」するアイソメトリック 2D ゲーム エンジンに取り組んでいます。これにより、ディスク (.svg) 上のサイズが小さくなり、ゲームの実行中にパフォーマンス (ビットマップ) が高速になるという利点が得られます。
ワークフローは次のとおりです。
- レベルに必要なゲーム アセットを解析する
- 関連する .svg アセットをディスクから読み込む
- .svg コンテンツをビットマップに描画します
- 読み込んだ.svgを捨てる
- すべてのアセットについて繰り返します
- 開始レベル
密度に依存しないピクセルが計算に使用されていますか?
はい、次のように使用します。
sprite.x = new_x_position * screen_density;