Eh bien, comme conseil de base, sur PC, je dirais "ne supposez pas que votre utilisateur souhaite utiliser le mode plein écran". Et en mode fenêtré, choisissez votre ratio idéal et utilisez-le directement.
Je pense que les utilisateurs acceptent généralement les barres noires lorsqu'ils sont présentés avec du contenu en plein écran. Les stratégies 3 et 4 sont donc acceptables, voire idéales. Ils ont l’avantage que vous sachiez toujours combien de contenu vous restituez: c’est-à-dire qu’il n’ya pas de bogue sournoise qui ne se produit que lorsqu’elle s’exécute en écran large.
Si vous essayez d’être adaptatif et de détecter le ratio utilisateur par le biais de la résolution de l’écran et d’afficher le plus de contenu possible, vous devez alors prendre en compte le contenu de priorité haute et basse de manière différente. Le contenu prioritaire est un élément que l'utilisateur doit absolument voir à l'écran. Si le jeu est hors écran, le jeu échoue. Il s’agit donc d'éléments du HUD et de l'interface utilisateur, de l'avatar du joueur et de tout ce avec quoi il interagit. Le contenu à faible priorité est un contenu qui, s'il est à l'écran, est bien, mais s'il est hors écran, ce n'est pas grave. Ex.: Graphiques d'arrière-plan et éléments raisonnablement éloignés de l'avatar.
En supposant que vous ayez un UI / HUD superposé à un monde 2D "physique", alors c'est assez simple. Les éléments à faible priorité sont faciles, vous devez simplement vous assurer que la fenêtre 4: 3 est centrée sur les éléments intéressants, puis dessinez le plus possible les éléments de priorité faible à gauche ou à droite. Les objets hautement prioritaires dans le monde 2D (par exemple, votre personnage, les ennemis que votre personnage combat directement) doivent toujours être conservés dans la fenêtre 4: 3. Cela signifie que votre code de jeu n’a pas d’agrandissement de la caméra pour tirer parti de l’écran supplémentaire, car vous aurez alors un code de jeu agissant différemment en mode écran large. Demandez au code de jeu de supposer que le monde est rendu en 4: 3 et ne laissez que votre code de rendu se rendre compte qu'il y a en réalité plus que ce qui est visible.
La disposition des éléments UI / HUD peut être abordée de deux manières:
- Positionnement dynamique: Spécifiez tous vos éléments par rapport aux bords de l’écran (c’est-à-dire pas tous par rapport à 0,0). Selon votre rapport de format, les éléments seront plus proches ou plus éloignés du centre de l'écran. Avantages: vous permet d'accrocher des choses aux coins et de les avoir «juste travailler». Inconvénients: Difficile d’obtenir une mise en page qui fonctionne bien au centre et risque de chevauchement des éléments.
- Positionnement statique conservateur: Disposez tous vos éléments en 4: 3 et décalez-les simplement lorsque vous utilisez un écran large. Avantages: logique / coordonnées de présentation simples et non ambiguës. Inconvénients: laisse un espace mort visuel à gauche et à droite de vos commandes d'interface utilisateur, où vous verrez le monde 2D en arrière-plan, mais pas d'interface utilisateur.