문제

Allegro 5를 사용하여 화면 형식을 존중하도록 전체 화면 모드에서 게임을 초기화하는 방법 (Widescreen 16 : 9 vs Normal 3 : 4)

al_create_display (w, h)

원하는 비율을 선택하겠습니다. 예를 들어 화면 크기에 관계없이 640x480을 설정할 수 있습니다. 그러나 와이드 스크린 모니터에서는 이상하게 보일 것입니다. 사용할 비율을 어떻게 알 수 있습니까?

도움이 되었습니까?

해결책

흠, 나는 이것도 대답 할 수 있습니다 - 사용 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);

이제 모든 것을 1366x768 내에 중앙에있는 640x480 사각형의 모든 것을 픽셀-완벽하게 보이게하거나 768/480까지 그래픽을 대안으로 스케일링하고 두 개의 검은 색 막대를 왼쪽과 오른쪽으로 유지할 수 있습니다. 렌더링에 OpenGL을 사용하는 경우, 프로젝션 행렬을 간단히 변경하여 둘 다 쉽게 수행 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top