GM2 13: Настраиваю разрешение экрана в меню

Ссылка на основную статью 2-го сезона полного провала разработки.

Добавила три разрешения экрана на выбор и сгенерировала картинку для фона в меню. Пока всем этим занималась, еще раз убедилась, что Game Maker 8 сильно устарел и в дальнейшем нужно будет переходить на что-то другое.

Проблемы масштабирования экрана

Изначально хотела сделать минимальные три варианта выбора размера экрана и добавила кнопку их переключения. Все изменения реализовывала через код, и получалось ужасно. Я пробовала как менять размеры видов и экрана, так и просто переключаться между видами.

Стартовые настройки при запуске комнаты всегда отрисовываются идеально, но при переключении на другие внутри одной комнаты-уровня-меню начинаются артефакты.

Для начала, нужно, чтобы все виды были в одном формате соотношения сторон, иначе будут черные полосы по бокам, никаким кодом это не правится.

Для этого я заменила формат 800х600 на 960х540, чтобы он соответствовал остальным. Почему-то 1920х1080 продолжает выдавать небольшие черные полосы по бокам, что бы я ни делала, но, вроде, они не бросаются в глаза.

Проблема переключения уровней

Следом решала проблему размытия и пришла к простому костыльному варианту - создать дубликаты комнат с разными разрешениями и под видом настройки разрешения переключаться между ними.

Соответственно, сделала 3 комнаты для меню и 3 для игрового процесса. И все было нормально. Они шли друг за другом, комнаты меню имели номера 1, 2, 3, а комнаты игры 4, 5, 6. При переключении разрешения я переключалась между соседними тремя комнатами, а при запуске игры перепрыгивала вперед через две.

Код GM8 позволяет переключаться на конкретную комнату командой room_goto(Х) или в следующую / предыдущую командой room_goto_next().

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

Почему пропал номер комнаты и был ли он вообще - остается загадкой. Как игра создала номера 5 и 6, если 4 нет в принципе? Я никакой комнаты не удаляла, а номера вручную менять нельзя, как и проверить в редакторе.

Пришлось делать костыль. Отдельной проверкой я фиксирую начало игры из меню-комнаты 1, перехожу в комнату 3 и оттуда, проверяя отдельную переменную для фиксирования костыля, перехожу в безномерную 4 через команду перехода в следующую комнату.

GM2 13: Настраиваю разрешение экрана в меню

Криво-косо, но стабильно работает. Благо, что все объекты на уровне я создаю через стартовый объект, поэтому мне не нужно как-то заморачиваться с редактированием дубликатов комнат. И еще сгенерировала картинку для фона в меню.

5
1
16 комментариев