C++ и Allegro 4.2 - мне нужно растянуть графику в оконном режиме

Я использую C++ с Allegro 4.2 для создания игры для Windows.

Я хочу растягиваемую графику в оконном режиме.

Я из тех, кто любит давать пользователям моих программ множество вариантов; Я всегда ненавижу, когда я играю в игру в оконном режиме, и мне либо не разрешено растягивать окно, либо содержимое внутри окна не растягивается вместе с ним (это очень отстой для игр размером 640x480, в которые играют на экранах с высоким разрешением). которые даже не позволяют работать в полноэкранном режиме; для правильного воспроизведения требуется инструмент увеличения). Мне интересно, есть ли какой-то способ в Allegro или, возможно, есть ли другая библиотека программирования, которая позволяет графике растягиваться в соответствии с формой самого окна. Я уже знаю, как перевести мои приложения Allegro в полноэкранный режим; Я пытаюсь улучшить оконный режим.

Основная причина этого в том, что мой художественный стиль — искусство с низким разрешением (я называю это стилем «Bitmap Brothers»); это очень хорошо для игр, так как оно организовано и легко редактируется. Я не хочу увеличивать размер выше 640x480, потому что это слишком много для графики с низким разрешением, но мое окно остается слишком маленьким в оконном режиме.

Я заметил, что в Allegro 5.0.8 есть эта строка кода: al_set_new_display_flags(ALLEGRO_WINDOWED | ALLEGRO_RESIZABLE);

В конце написано «ALLEGRO_RESIZABLE», может быть, это та функция, которую я ищу? Если да, то насколько Allegro меняется с 4.2 на 5+?


person Keith Wiggins    schedule 18.04.2013    source источник


Ответы (1)


Allegro 4 не поддерживает окна с изменяемым пользователем размером.

Allegro 5 делает (как вы заметили), но он полностью переписан и вообще не совместим с предыдущими версиями. Тем не менее, я настоятельно рекомендую вам переключиться на него, так как разработка Allegro 4 почти мертва.

person Matthew    schedule 18.04.2013
comment
Я предполагаю, что окно с изменяемым размером также растягивает графику? - person Keith Wiggins; 18.04.2013
comment
С Allegro 5 вы получаете уведомление через событие, когда размер дисплея изменяется. Если вы не подтвердите изменение размера, я полагаю, что графика останется растянутой, хотя это, вероятно, не задокументировано. Если вы не хотите полагаться на такое поведение, тривиально настроить глобальное преобразование, которое масштабирует или обрезает все ваши операции рисования до нужного размера. - person Matthew; 18.04.2013
comment
Хорошо, тогда я попробую перейти на Allegro 5 и посмотреть, что получится. Есть ли какие-либо другие библиотеки или методы программирования, о которых вы знаете, которые могут еще больше подсказать мне наличие этой функции? - person Keith Wiggins; 19.04.2013