¿Cómo puedo desarrollar mi juego de Android para diferentes resoluciones de teléfono?

18

Por ejemplo, el Motorola Droid es tan ancho como el G1, pero tiene más altura.

¿Debo tratar de extender la interfaz de usuario a través de la altura adicional que se encuentra en el Motorola Droid? ¿Cómo manejan otros este problema?

No estoy usando OpenGL, sino un SurfaceView para un juego 2D.

Bryan Denny
fuente

Respuestas:

7

Tenga en cuenta la independencia de densidad (básicamente la resolución) como se describe aquí: http://developer.android.com/guide/practices/screens_support.html

Y en relación con la relación de aspecto, elija su relación de aspecto objetivo mínima y diseñe dentro de ella como una especie de marco seguro. Cuando se enfrente con una relación de aspecto más amplia, muestre más del juego que no es crítico para el juego. He publicado una pregunta similar aquí y describí lo que haría: ¿Cómo aborda la independencia de resolución en contenido gráfico basado en ráster?

Fotograma clave
fuente
3

Puedes hacer la resolución dinámica que muestro aquí en el iPhone:

http://www.blog.namar0x0309.com/2011/10/adaptive-resolution/

  • Asegúrate de colocar todo con proporciones. Por ejemplo, una barra de salud se colocaría en el 80% del ancho de la pantalla con el 10% del ancho de la pantalla para su escala horizontal (consulte las dimensiones de estilo CSS). Es un poco extraño al principio, pero no tendrá que lidiar con todas las diferentes resoluciones a largo plazo ya que sus widgets / imágenes se moverán dinámicamente con diferentes pantallas.

  • Si su juego usa selección, traduzca eso también con las proporciones (necesita una dimensión de conjunto original que puede usar como referencia para construir proporciones con las dimensiones del dispositivo.

namar0x0309
fuente
¡Ya no se puede acceder al artículo!
Bottleboot
Solo lo intenté, trabajando por mi parte. ¿Actualizar? Tal vez mi empresa de alojamiento estaba reiniciando sus servidores. @bottleboot
namar0x0309
mi bloqueador de anuncios estaba deteniendo la carga de la página, puedo verlo ahora
bootboot
1

Si está utilizando eclipse, puede colocar varias imágenes de diferentes tamaños en drawable-ldpi, drawable-mdpi y drawable-hdpi y el motor de Android elegirá automáticamente qué imagen será adecuada para la resolución de la pantalla.

Zak Burkett
fuente
2
¿Qué tiene que ver eclipse con eso?
notlesh
1

Keyframe menciona un buen enfoque, pero ofreceré dos más:

1) Diseña tu juego para múltiples resoluciones / relaciones de aspecto. La idea es aprovechar cada parte del espacio de la pantalla, pero "diseñar" cualquier ventaja que una relación de aspecto pueda tener sobre otra. Dependiendo mucho del juego, las diferentes relaciones de aspecto aún pueden tener una ventaja sobre los demás, por lo que querrás tenerlo en cuenta para cosas como el emparejamiento multijugador, tablas de clasificación, logros, etc., si alguno de estos es relevante.

2) Use el espacio extra para más HUD / cromado. Más o menos lo que dijo Keyframe en cuanto a tener una línea base o una resolución mínima compatible, pero en su lugar use el espacio extra para algo más que la acción del juego.

La gran desventaja con el segundo enfoque es que si toma algo muy cuadrado como su "zona segura", deja una gran cantidad de píxeles no utilizados / utilizados involuntariamente en una configuración de pantalla panorámica.

notlesh
fuente
-2

Elegir la resolución óptima para un juego desde el inicio del desarrollo puede reducir los dolores de cabeza con la migración posterior.

La "mejor" resolución depende de muchos factores:

-La plataforma en la que se supone que se lanzará el juego primero

-Otras plataformas posibles que planea portar más tarde

-Fidelidad gráfica (un juego de 8 bits o pixel art no necesita ser de alta resolución).

-Genre (un juego de rompecabezas probablemente puede salirse con una resolución más baja, pero un FPS competitivo de alta velocidad podría no serlo).

danmoun ferkoun
fuente