Игра Allegro 5: Как установить разрешение, соответствующее соотношению сторон экрана? - PullRequest
4 голосов
/ 31 июля 2009

Используя Allegro 5, как инициализировать игру в полноэкранном режиме, чтобы она соответствовала формату экрана (широкоэкранное 16: 9 против обычного 3: 4)

al_create_display (w, h)

Давайте выберем любое соотношение. Например, вы можете установить 640x480, независимо от размера экрана. Но это будет выглядеть странно на широкоэкранном мониторе. Как узнать, какое соотношение использовать?

1 Ответ

3 голосов
/ 02 августа 2009

Хм, я тоже могу ответить - используйте 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);

Теперь вы можете либо визуализировать все в прямоугольнике 640x480 с центром в пределах 1366x768, чтобы оно выглядело как пиксель, либо альтернативно масштабировать графику до 768/480 и оставить две черные полосы слева и справа. Если вы используете OpenGL для рендеринга, то и то, и другое очень просто сделать, просто изменив матрицу проекции.

...