2012-06-09 6 views
21

Cocos2d-iphone utilizza l'estensione -hd per le immagini Retina (e altre risorse). L'cocos2d Retina guide parla solo vagamente di "alcune incompatibilità" per quanto riguarda @ 2x:Perché gli utenti di cocos2d-iphone non dovrebbero usare l'estensione di file @ 2x?

Apple utilizza il suffisso “@ 2x”, ma cocos2d non usa che l'estensione a causa di alcune incompatibilità. Invece, cocos2d ha il suo suffisso : "-hd".

ATTENZIONE: NON è consigliabile utilizzare il suffisso "@ 2x". Apple tratta le immagini in modo particolare che potrebbero causare errori nell'applicazione cocos2d .

Grande. Mi sento ben informato.

Attraverso un 2-year old bug report regarding @2x ho ottenuto il collegamento a un forum thread that supposedly explains the issues with @2x. Tuttavia, non è così. Gli unici suggerimenti che ho trovato sono i bug di iOS (4.0/4.1) riguardanti @ 2x che suppongo non siano più rilevanti. È possibile che mi sia sfuggito qualche aspetto cruciale (si parlava di cache o di problemi di caricamento ripetuti) - il thread è molto lungo dopo tutto.

Mi piacerebbe sapere quali problemi specifici potrebbe incontrare uno sviluppatore cocos2d se (s) utilizza il suffisso @ 2x per le immagini invece di -hd?

Si prega di fornire esempi concreti di cose che potrebbero andare o effettivamente saranno sbagliate.

risposta

7

Questo sembra essere il motivo principale da questo link: http://www.cocos2d-iphone.org/forum/topic/12026

In particolare questo post da RIQ:

Non so se initWithContentsOfFile è stato fissato, ma in 4,0 era rotto ed è non stava lavorando con @ 2x, ~ estensioni iphone. imageNamed memorizza nella cache tutti i file caricati in modo da consumare molta più memoria di initWithContentsOfFile Anche l'estensione @ 2x fa qualcosa (non so esattamente cosa) ma non funziona OK con cocos2d.

Un altro buon punto: Ai tempi in cui l'iPhone 4 è stato appena rilasciato con il display retina, sono sicuro che alcuni utenti di Cocos2d stavano usando una vecchia versione di esso in modo che quando l'utente stava usando il display retina su una versione di Cocos2D che non lo supporta, le cose erano due volte più grandi di quanto avrebbero dovuto essere. Ancora una volta questo è stato corretto per la maggior parte a meno che non si stia utilizzando una versione MOLTO anticipata di Cocos2D.

Panoramica, quindi sembra che il problema principale era con initWithContentsOfFile da iOS 4, ma hanno risolto questo perché poiché io uso quella esatta API con Cocos2D 2.0-rc2 nella mia app e non ho alcun problema di sorta. Uso tutte le estensioni specificate da Apple per le immagini e tutto funziona perfettamente! :)

+0

Grazie, finalmente qualche chiarimento! Anche se "non funziona bene con cocos2d" mi sembra ancora un po 'vago. Ma probabilmente sono solo io. :) – LearnCocos2D

+0

La mia risposta è abbastanza degna della taglia? : P giuro che sono tutte le informazioni che ci sono su questo argomento! –

7

Sembra che questo abbia uno sfondo storico.

Ciò che rende ancora utilizzabile la grafica di -hd è che caricarli non si basano sulle funzionalità di Apple ma sono piuttosto fatti nel codice framework. Quindi, può essere caricato per iPad in modalità Simulatore iPhone e utilizzare le immagini a risoluzione più elevata in modalità 2x.

Diverso da quello che non ho trovato altri motivi per non utilizzare @ 2x quando stavo guardando in questo una settimana fa.

Nel caso in cui si desiderino tutti i dettagli è probabilmente meglio inviare un'e-mail riq.

Problemi correlati