Название: Расширенное рисование фона и изменение разрешения игры Отправлено: PitManKeks от Сентябрь 07, 2020, 10:52:21 Многие знают, что в ОС Windows есть возможность установки режима отображения для фона рабочего стола... Почему бы не сделать такое же в игре? Особенно это пригодится если игра должна подстраиваться под разрешение монитора.
Для этого я написал сей небольшой скрипт, который необходимо вызвать в событии Draw :gm131: объекта, который занимается отрисовкой: Цитата: Скрипт //argument0 - имя фона //argument1 - режим (заполнение, растягивание, в центре, замощение/плитка) if(argument1 = "filling") { if(background_get_width(argument0) / room_width > background_get_height(argument0) / room_height) { size = room_height / background_get_height(argument0) } else { size = room_width / background_get_width(argument0) } draw_background_ext(argument0, (room_width - background_get_width(argument0) * size) / 2, (room_height - background_get_height(argument0) * size) / 2, size, size, 0, c_white, 1) } else if(argument1 = "stretching") { horizontal_size = room_width / background_get_width(argument0) vertical_size = room_height / background_get_height(argument0) draw_background_ext(argument0, 0, 0, horizontal_size, vertical_size, 0, c_white, 1) } else if(argument1 = "center") { draw_background_ext(argument0, (room_width - background_get_width(argument0)) / 2, (room_height - background_get_height(argument0)) / 2, 1, 1, 0, c_white, 1) } else if(argument1 = "pave") { horizontal_count = ceil(room_width / background_get_width(argument0)) vertical_count = ceil(room_height / background_get_height(argument0)) for(i = 0; i < horizontal_count; i += 1) { for(j = 0; j < vertical_count; j += 1) { draw_background_ext(argument0, i * background_get_width(argument0), j * background_get_height(argument0), 1, 1, 0, c_white, 1) } } } Так же добавлю сюда то что позволяет менять разрешение игры (вернее подгонит размер комнаты под разрешение монитора, для работы с видами нужно немного изменить код) Создаём комнату загрузки, в ней должен быть объект, в Create :gm123: которого вызовем скрипт: Цитата: Скрипт //argument0 - имя комнаты для самого игрового процесса. Если этих комнат несколько и они меняются - надо вызвать скрипт для каждой После чего преходим в нужную комнату командой room_goto(имя_комнаты) или room_goto_next().room_set_width(argument0, display_get_width()) //set resolution room_set_height(argument0, display_get_height()) //width x height Название: Re: Расширенное рисование фона и изменение разрешения игры Отправлено: Fur от Сентябрь 11, 2020, 11:37:21 Сколько ты потратил, чтоб сделать код нечитабельным на тёмной теме?
Название: Re: Расширенное рисование фона и изменение разрешения игры Отправлено: SilentPhil от Сентябрь 11, 2020, 11:50:00 http://forum.hellroom.ru/index.php?topic=24899.0
Название: Re: Расширенное рисование фона и изменение разрешения игры Отправлено: PitManKeks от Сентябрь 11, 2020, 18:17:59 Проверил... В тёмной теме действительно выглядит вырвиглазненько. В своё оправдание могу сказать только то что малая часть пользователей используют тёмную тему (Да и мне самому она не особо нравится. На всех сайтах юзаю тёмную тему если это возможно, ну а здесь... не вкатывает почему-то, мне с ней неудобно).
SilentPhil, спасибо! Честно, спасибо, поставлю как только будет возможность. Сейчас возможности нет, потому что сижу на Oper'е и не могу в ней найти возможность подключения JS скриптов. Fur, много времени убил... |