5

タイトルはそれをよく言っています。私は iOS アプリを作成しており、アート アセットを追加するところです。iPhone 低解像度 (iPhone 3GS 以下)、iPhone Retina (iPhone 4 以上)、iPhone 5、iPad 低解像度、iPad 高解像度の 5 つの背景があります。

デバイスに基づいてロードされる背景を処理する最良の方法は何ですか?

また、シミュレーターで 5 つすべてがどのように見えるかをテストする方法はありますか? もちろん、現在テストできるのは iPhone と iPad のみです。

また、これはゲームであり、違いが生じる場合は cocos2d を使用しています。

4

4 に答える 4

7

cocos2D-iPhone の場合、デフォルトのサフィックスは次のとおりです。

  • Retina以外の iPhone : image.png
  • Retina iPhone : image-hd.png
  • Retina以外の iPad : image-ipad.png
  • Retina iPad : image-ipadhd.png

wikiページからのメモ:

警告: 「@2x」サフィックスの使用はお勧めしません。Apple はこれらの画像を特別な方法で扱い、cocos2d アプリケーションでバグを引き起こす可能性があります。

Cocos2D はハードウェアを自動的に検出し、適切なイメージを読み込みます。AppDelegate.m でデフォルトの接尾辞を変更できます。

私の知る限り、iPhone 5 画像にはサフィックスがないため、デバイスの高さを検出することで、カスタム スプライトを手動で検出してロードできます。

CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568) {
    // code for iPhone 5
} else {
    // code for all other iOS devices
}

そして、他の人が言ったように、シミュレーターを介してすべてのデバイスをテストできます (ハードウェア -> デバイス)

于 2012-12-08T06:40:59.097 に答える
2

@Srikanth が述べたように、image.png と image@2x.png を含めると、システムは高解像度画面には高解像度のものを、低解像度画面には低解像度のものを自動的に選択します。これは、iPhone と iPad の両方で機能します。

iPhone 5 の場合、画面は引き続き Retina です。システムは自動的に -@2x イメージを選択します。自動レイアウト (またはスプリングとストラット) は、Interface Builder またはコードで定義できます。

何らかの理由で iPhone 5 タイプの画面に固有の画像が絶対に必要な場合は、image-568h@2x.png を追加すると、システムが自動的に 4 インチ画面用にそれを選択します。

バンドルに -568h@2x イメージを含める唯一の理由は、起動イメージのためです。4 インチ スクリーンに固有のイメージが必要です。

また、シミュレータについて: 5 つの解像度すべてをテストできます。シミュレーターのメニュー バー (画面上部) で、[Hardware] > [Device] を選択します。ここには、5 つの解像度すべてのオプションがあります。

于 2012-12-08T02:52:56.060 に答える
1

各画像の 2 つのバージョンを持つことができます

image.png, image@2x.png

image.png を参照する Retina デバイスの場合、システムは自動的に image@2x.png を選択します。

また、シミュレーターで、[ハードウェア]->[デバイス] に移動して、網膜を表示するかどうかを選択できます。

于 2012-12-07T21:45:26.543 に答える
1

cocos2d を使用している場合は、網膜解像度の画像に -hd サフィックスを使用する必要があります。詳細については、Wiki ページを参照してください。

私自身はcocos2dを扱っていませんが、その音から、iPhone 5の画面解像度はiPadの画面解像度と同じように処理され、それに応じてレイアウトを調整することによって処理されます. stackoverflow で検索すると、cocos2d と iPhone 5 で適切な結果が得られるはずです。

于 2012-12-07T21:54:50.380 に答える