2012-12-07 14 views
5

Il titolo lo dice molto bene. Sto creando un'app per iOS e sono al punto di aggiungere risorse artistiche. Ho 5 sfondi per iPhone a bassa risoluzione (iPhone 3GS o inferiore), iPhone retina (iPhone 4 o versioni successive), iPhone 5, iPad a bassa risoluzione e iPad ad alta risoluzione.Creazione di iOS Universal App, Come rilevare tutte e 5 le risoluzioni?

Qual è il modo migliore per gestire lo sfondo che viene caricato in base al dispositivo?

Inoltre, c'è un modo per testare l'aspetto di tutti e 5 nel simulatore? Al momento, ovviamente, puoi testare solo iPhone e iPad.

Inoltre, questo è un gioco e sto usando cocos2d se questo avrebbe fatto la differenza.

risposta

7

Per Cocos2d-iPhone, i suffissi predefiniti sono i seguenti:

  • non-retina iPhone: immagine.png
  • Retina iPhone: Immagine-hd.png
  • non -retina iPad: image-ipad.png
  • Retina iPad: immagine-ipadhd.png

nota dalla pagina wiki:

ATTENZIONE: E 'NON consiglia di utilizzare il suffisso “@ 2x”. Apple tratta queste immagini in un modo speciale che potrebbe causare errori nell'applicazione cocos2d.

Cocos2D rileva automaticamente l'hardware e carica l'immagine appropriata. È possibile modificare i suffissi predefiniti in AppDelegate.m.

per quanto ne so, non v'è alcun suffisso per iPhone 5 immagini, in modo da poter rilevare e caricare il vostro sprite personalizzato rilevando l'altezza dispositivo manualmente:

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

E come gli altri hanno detto, è possibile verificare tutti i dispositivi attraverso il simulatore (Hardware -> Dispositivo)

+0

btw, il modo migliore per lavorare con tutte queste immagini è disegnare (o ottenere dal tuo designer) * solo immagini -ipadhd e convertirle in -ipad e -hd con script semplici localmente. –

+0

@anatoliy_v: Le proporzioni non sono le stesse per iPad e iPhone, quindi di solito il mio designer crea immagini sia per retina iPad che per retina iPhone. Quindi utilizzo TexturePacker per ridimensionare entrambe le serie di immagini per i dispositivi senza retina. – lemikegao

1

È possibile avere due versioni di ogni immagine

immagine.png, [email protected]~~V~~singular~~3rd

Il sistema rileverà automaticamente [email protected] se si tratta di un dispositivo di retina, dove mai si fa riferimento a image.png

Anche nel simulatore, è possibile andare su Hardware-> Dispositivo e quindi selezionare se si desidera vedere retina o meno.

+0

Qualcosa di speciale per iPhone 5? Poiché lo schermo è più lungo. Abbiamo un'immagine specifica per quella dimensione pure. E grazie. – Oscar

+0

Non penso. Le dimensioni dello schermo potrebbero essere maggiori ma la risoluzione è ancora retina. – Srikanth

1

Se si utilizza cocos2d, sarà necessario utilizzare i suffissi -hd sulle immagini con risoluzione retina. Dai un'occhiata al loro wiki page per maggiori informazioni su questo.

Io non lavoro con cocos2d da solo, ma dal suono di esso, la risoluzione dello schermo di iPhone 5 viene gestita allo stesso modo in cui viene gestita la risoluzione dello schermo dell'iPad, regolando il layout di conseguenza. Una ricerca in stackoverflow dovrebbe produrre alcuni buoni risultati per cocos2d e iPhone 5.

2

Come @Srikanth menzionato, include image.png & [email protected], e il sistema sceglierà automaticamente quello ad alta risoluzione per le schermi e l'inferiore per gli schermi a bassa risoluzione. Funziona su iPhone e iPad.

Per iPhone 5, lo schermo è ancora Retina. Il sistema sceglierà automaticamente la tua immagine @ 2x. È possibile definire il layout automatico (o molle e montanti) in Interface Builder o nel codice.

Se per qualche ragione è assolutamente necessario un'immagine specifica per gli schermi di tipo iPhone 5, credo che sia possibile aggiungere un'immagine [email protected] e il sistema sceglierà automaticamente quello per schermi da 4 pollici.

L'unico motivo per cui posso pensare che si includa un'immagine di -568h @ 2x nel pacchetto è per le immagini di avvio: è necessario uno specifico per gli schermi da 4 pollici.

Inoltre, sul simulatore: è possibile testare tutte e 5 le risoluzioni. Nella barra dei menu del simulatore (nella parte superiore dello schermo) scegli Hardware> Dispositivo. Qui hai un'opzione per tutte e 5 le risoluzioni.

Problemi correlati