Jeu Allegro 5: Comment définir une résolution adaptée au rapport hauteur / largeur de l'écran?

StackOverflow https://stackoverflow.com/questions/1211916

Question

Avec Allegro 5, comment initialiser un jeu en mode plein écran afin qu’il respecte le format de l’écran (écran large 16: 9 vs normal 3: 4)

al_create_display (w, h)

Vous permet de sélectionner le rapport de votre choix. Par exemple, vous pouvez définir 640x480, quelle que soit la taille de l'écran. Mais cela aura l'air bizarre sur un moniteur grand écran. Comment savoir quel rapport utiliser?

Était-ce utile?

La solution

Hm, je peux aussi répondre à cette question - utilisez al_get_monitor_info ( ) .

al_get_monitor_info(0, &info);
w = info.x2 - info.x1; /* Assume this is 1366 */
h = info.y2 - info.y1; /* Assume this is 768 */
al_create_display(w, h);

Vous pouvez maintenant tout rendre dans un rectangle 640x480 centré sur 1366x768 pour lui donner une apparence de pixel parfait, ou bien redimensionner vos graphiques de 768/480 et conserver deux barres noires à gauche et à droite. Si vous utilisez OpenGL pour le rendu, les deux sont très faciles à faire en modifiant simplement la matrice de projection.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top