1

私はしばらくプログラミングをしていましたが、最近、モバイルおよびタブレット用のアプリケーションの開発を始めました。タブレットとモバイル用のクロス プラットフォーム アプリの開発に Marmalade を使用しています。しかし、私の質問は技術的なものではなく概念的なものです。

まず、私のアプリについて少しお話しさせてください。子供たちに動物を紹介するアプリを開発したいです。動物にはそれぞれ小さな物語があります。すべての動物を 1072 x 768 の寸法でデザインしました。私のデザインはすべてベクトルなので、グラフィックの寸法を非常に簡単に変更できます。

私の質問は、すべてのデバイスで完全に表示されるようにアプリを開発するにはどうすればよいですか? 新しい iPad の Retina ディスプレイは 2048 x 1536、iPad 2 および iPad 1 の解像度は 1024 x 768、iPhone の解像度は 960 x 640、Samsung Galaxy Tab の解像度は 1280 x 800 などです (デバイス (タブレットまたはモバイル) によって解像度が異なります)。解像度)

この問題を克服するには、AFAK の 2 つのオプションしかありません。

1- 複数のレイアウト (960 x 640 および 1024 x 768) を設計し、すべてのデバイスに基づいて最も近い解像度に切り替え、画面上のレイアウトを引き伸ばします。この場合、Galaxy Tab ユーザーにはわずかに変形した画像が表示され、iPad 2 ユーザーには完全な画像が表示されます。

2- 複数の固定レイアウトから選択するのではなく、表示サイズに基づいてグラフィックのレイヤーを再配置します。これを実装するのは少し難しく、画像を 1024 x 768 より少し大きくする必要があるため、最終的なプラットフォームに従って、必要に応じて非表示の部分を表示できます。

皆さんどう思いますか?どの方法を使用する必要がありますか? この問題を克服する他の方法はありますか?

4

3 に答える 3

2

Android について話すことはできませんが、iOS のグラフィック レンダリングは解像度に依存しません (デバイス ファミリごとに)。ただし、直面する主な課題はベクター画像のレンダリングです。iOS の画像ファイルは PNG が選択されるためです。組み込みの SVG レンダラーはありませんが、これを修正しようとする試みがあります (ただし、グラデーションはまったくサポートされていません)。CoreGraphics または UIKit に基づく実装は、ピクセルではなくポイントで動作するため、画面が 2048x1536 ピクセルを保持するかどうかに関係なく、1024x768 画像を 1024x768 ポイントでレンダリングします。

その通りですが、特定のフォーム ファクターについては変更が必要になります (iOS ベースのデバイスの場合は少なくとも 2 つ、Android のフォーム ファクターの場合は 3 つまたは 4 つが必要になるでしょう)。必ずしも画面の正確な仕様に合わせてグラフィックを設計する必要はなく、さまざまなアスペクト比をサポートする必要があります。

于 2012-05-28T05:03:24.580 に答える
2

このトピックをさらに調べた後、さまざまな解像度とアスペクト比で問題の解決策を見つけました。私の計画をあなたと共有したいのですが、これは問題の一般的な解決策ではないことに注意してください. これは、この特定のプロジェクトでこの問題に対処することを決定した唯一の方法です。

まず、私たちが扱っているものを見てみましょう。以下は、市場に出回っているすべての一般的なスマートフォンとタブレットのリストです。この記事を使用すると、各解像度のアスペクト比を簡単に見つけることができます。

このリストを調べた後、対処しなければならない最大のアスペクト比は 16:9 (~1.77) で、最小のアスペクト比は 4:3 (~1.33) であることに気付きました。また、対処しなければならない最大の解像度は 2048×1536 (iPad 3 または新しい iPad) です。

そこで、16:9 (~1.77) のアスペクト比を維持する 2760×1536 の寸法でグラフィックをデザインすることに決めましたが、重要なスプライトとグラフィックは 2048px (4:3 または ~1.33 のアスペクト比、または最小のアスペクト比) にのみ配置する必要があります。 .

言い換えれば、私の背景は 2760px の幅をすべて埋めますが、スプライトとグラフィックスは不可欠であり、すべての異なるデバイスのすべてのユーザーが表示する必要があり、3:4 の縦横比 (最小の縦横比) を維持する 2048 ピクセル幅に配置する必要があります。

次に、すべての画面解像度に応じて、デバイスの解像度に合わせてグラフィックのサイズを変更するだけです。解像度が 1024×600 (縦横比 16:9) の Android デバイスの場合、グラフィックのサイズをデバイスの解像度に合わせて変更する必要があります。iPad 3 の場合、グラフィックのサイズをまったく変更する必要はありません。等々。また、画面の右マージンと左マージンには重要なグラフィックやスプライトが含まれていないため、すべてのデバイスでグラフィックを画面の中央に水平に表示することが重要です。

この回答は、こちらのマーマレード フォーラムにも投稿されています。

于 2012-06-18T05:17:31.653 に答える
1

iOS 向けに開発している場合は、ipa の作成中にネイティブ解像度のサポートを無効にすることができます。このオプションを使用すると、iPad に 2 倍のボタンを表示できます。これにより、アプリが引き伸ばされます。ベクター グラフィックスを使用している場合は、見栄えがよくなります。
もう 1 つの方法は、Android で行っていたのと同じように、画面サイズごとに異なるアセットを使用することです。

于 2012-05-28T12:56:22.970 に答える