Comment puis-je développer mon jeu Android pour différentes résolutions de téléphone?


18

Par exemple, le Motorola Droid est aussi large que le G1, mais a plus de hauteur.

Dois-je essayer de répartir l'interface utilisateur sur la hauteur supplémentaire trouvée sur le Motorola Droid? Comment les autres gèrent-ils ce problème?

Je n'utilise pas OpenGL, mais une SurfaceView pour un jeu 2D.

Réponses:


7

Soyez conscient de l'indépendance de la densité (essentiellement la résolution) comme décrit ici: http://developer.android.com/guide/practices/screens_support.html

Et en ce qui concerne le rapport d'aspect, choisissez votre rapport d'aspect cible minimal et concevez-le comme une sorte de cadre sûr. Lorsque vous êtes confronté à un rapport d'aspect plus large, montrez davantage de jeu qui n'est pas essentiel au gameplay. J'ai posté une question similaire ici et décrit ce que je ferais: Comment abordez-vous l'indépendance de résolution dans le contenu graphique basé sur raster?


3

Vous pouvez faire la résolution dynamique que je montre ici sur l'iphone:

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

  • Assurez-vous de tout placer avec des ratios. Par exemple, une barre de santé serait placée à 80% de la largeur de l'écran avec 10% de la largeur de l'écran pour son échelle horizontale (voir les dimensions de style CSS). C'est un peu bizarre au début, mais vous n'aurez pas à gérer toutes les différentes résolutions à long terme car vos widgets / images se déplaceront dynamiquement avec différents écrans.

  • Si votre jeu utilise le picking, traduisez-le aussi avec des ratios (vous avez besoin d'une dimension de jeu d'origine que vous pouvez utiliser comme référence pour construire des ratios avec les dimensions de l'appareil.


L'article n'est plus accessible!
bottleboot

Je viens d'essayer, de travailler de mon côté. Rafraîchir? Peut-être que mon hébergeur redémarrait ses serveurs. @bottleboot
namar0x0309

mon bloqueur de publicités arrêtait le chargement de la page, je peux le voir maintenant
bottleboot

1

Si vous utilisez Eclipse, vous pouvez placer plusieurs images de tailles différentes dans les fichiers drawable-ldpi, drawable-mdpi et drawable-hdpi et le moteur Android choisira automatiquement l'image appropriée à la résolution de l'écran.


2
Qu'est-ce que l'éclipse a à voir avec ça?
2011

1

L'image clé mentionne une bonne approche, mais j'en proposerai deux autres:

1) Concevez votre jeu pour plusieurs résolutions / ratios d'aspect. L'idée est de profiter de chaque partie de l'écran, mais de "concevoir" tous les avantages qu'un rapport d'aspect pourrait avoir par rapport à un autre. Selon le jeu, différents ratios d'aspect peuvent toujours avoir un avantage sur les autres, vous devrez donc garder cela à l'esprit pour des choses comme le matchmaking multijoueur, les classements, les réalisations, etc. si l'un de ces éléments est pertinent.

2) Utilisez l'espace supplémentaire pour plus de HUD / chromage. À peu près ce que Keyframe a dit en ce qui concerne la prise en charge d'une résolution de base ou minimale, mais utilisez plutôt l'espace supplémentaire pour autre chose que l'action du jeu.

Le gros inconvénient de la deuxième approche est que si vous prenez quelque chose de très carré comme «zone de sécurité», vous laissez beaucoup de pixels inutilisés / utilisés involontairement dans une configuration grand écran.


-2

Choisir la résolution optimale pour un jeu dès le début du développement peut réduire les maux de tête avec le portage plus tard.

La "meilleure" résolution dépend de nombreux facteurs:

-La plateforme sur laquelle le jeu est censé sortir en premier

-Autres plates-formes possibles que vous envisagez de porter ultérieurement

- Fidélité graphique (un jeu d'art 8 bits ou pixel n'a pas besoin d'être en haute résolution.)

-Genre (Un jeu de puzzle peut probablement s'en tirer avec une résolution inférieure, mais pas un FPS compétitif à grande vitesse.)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.