La matematica dei display

Salve a tutti, fino ad oggi non ho mai prestato molta attenzione a questo fattore ed ho fatto un po’ tutto a occhio. Cosa?

Bhè, parlo di diversi display per diversi devices, non android nook amazon, non ipad, parliamo un attimo solo di iphone.

Ho scaricato il config.lua definitivo questo: link e devo dire che è perfetto, fa il suo sporco lavoro e tutto quanto. 
L’unica cosa è che quando si devono creare le immagini io non ho minimamente capito che proporzioni devono avere, mettiamo ad esempio un bottone, non lo sfondo un bottone. Quanti ne devo disegnare per gli iphone? 2? mi sembra di aver capito che iphone4 e iphone5 si rifacciano entrambi al @2x. Dovendo disegnarne 2, uno per 3gs e uno per gli altri, che proporzioni devo mantenere? E’ possibile che non esista una guida? Le guide esistenti sono solo riguardo alla parte di codice, nessuno accenna al “Ehi quando disegni un tasto o un header, mantieni queste proporzioni” ecc…

Aiutatemi :smiley:

Ciao,

il config.lua di Rob Miracle è utile e risolve parecchie grane! 

Per implementare correttamente  la Dynamic Image Resolution devi fare 2 cose:

  • Utilizzare display.newImageRect () invece che display.newImage () per il caricamento delle immagini

  • Definire una o più fattori di scala nel file config.lua (questo lo ha già fatto Rob!)

A questo punto le immagini che disegnerai dovranno essere in funzione del fattore di scala impostato nel config.lua

Ad esempio, nel config.lua di Rob per la configurazione “iPad” hai questa dichiarazione:

[lua]

imageSuffix =

{

   ["@2x"] = 1.5,

   ["@4x"] = 3.0,

},

[/lua]

Quindi poniamo che la tua immagine di partenza (_Immagine.png) _abbia le dimensioni di 100x100 px, per mantenere le proporzioni, le dimensioni delle immagini scalate dovranno essere moltiplicate per il fattore di scala definito in ImageSuffix:

Immagine.png (100 x 100 pixels)
Immagine@2x_.png_ (150 x 150 pixels)
Immagine@4x_.png_ (300 x 300 pixels)

Ricordati di usare display.newImageRect()  altrimenti non funziona!

La guida puoi trovarla qui: 

http://www.coronalabs.com/blog/2011/01/27/dynamic-image-resolution-made-easy/

Spero ti torni utile.

Ale

Ciao,

il config.lua di Rob Miracle è utile e risolve parecchie grane! 

Per implementare correttamente  la Dynamic Image Resolution devi fare 2 cose:

  • Utilizzare display.newImageRect () invece che display.newImage () per il caricamento delle immagini

  • Definire una o più fattori di scala nel file config.lua (questo lo ha già fatto Rob!)

A questo punto le immagini che disegnerai dovranno essere in funzione del fattore di scala impostato nel config.lua

Ad esempio, nel config.lua di Rob per la configurazione “iPad” hai questa dichiarazione:

[lua]

imageSuffix =

{

   ["@2x"] = 1.5,

   ["@4x"] = 3.0,

},

[/lua]

Quindi poniamo che la tua immagine di partenza (_Immagine.png) _abbia le dimensioni di 100x100 px, per mantenere le proporzioni, le dimensioni delle immagini scalate dovranno essere moltiplicate per il fattore di scala definito in ImageSuffix:

Immagine.png (100 x 100 pixels)
Immagine@2x_.png_ (150 x 150 pixels)
Immagine@4x_.png_ (300 x 300 pixels)

Ricordati di usare display.newImageRect()  altrimenti non funziona!

La guida puoi trovarla qui: 

http://www.coronalabs.com/blog/2011/01/27/dynamic-image-resolution-made-easy/

Spero ti torni utile.

Ale