Вимкніть функцію масштабу на вкладці "Фони" на карті. Якщо це здається поза шкалою, переконайтеся, що ваша текстура заднього ґрунту має такий же розмір, як і кімната / карта, в якій ви знаходитесь.
Крім того, використовуйте цю публікацію тут, щоб створити фоновий скрипт, який підніме масштаб заднього шару з (сподіваємось) чіткими результатами.
При цьому використовуються поверхні, тому якщо вам потрібна додаткова допомога з цього приводу - цей пост надає багато інформації.
Редагувати:
Повертаючись до своїх відповідей, я зрозумів, що це не до нуля, і потрібен зміст підручника. Ось:
КРОК 1 : Виберіть потрібну шкалу. Використовуйте подання для кожної кімнати і зробіть відповідним чином масштабований порт W і порт H. Так, наприклад, якби ви використовували шкалу 2 ... це виглядатиме так у редакторі кімнати GM.
Важливо, щоб це відповідало всім приміщенням. Якщо у вас багато кімнат, це може бути простіше зробити за допомогою коду *. Я вважаю за краще робити це саме так, оскільки тоді значення не є постійними, і я можу підтримувати декілька різних масштабів.
КРОК 2 : Створіть 3 сценарії, screen_init, screen_begin та screen_end. Ось що йде у кожному зі сценаріїв ...
Цитата від: screen_init
// screen base(view_wview and view_hview)
screen_x = 0;
screen_y = 0;
screen_w = 320;
screen_h = 240;
screen_scale = 2;
// create a surface for the whole screen to be drawn on
screen = surface_create(screen_w,screen_h);
// this will destroy the screen object if surfaces are not supported on the graphics card, reverting to the viewport method
if screen = -1{instance_destroy();}
Цитата від: screen_begin
// this draws the surface on the screen
surface_reset_target();
draw_clear(0);
draw_set_blend_mode_ext(bm_one, bm_zero);
draw_surface_stretched(screen,screen_x,screen_y,screen_w*screen_scale,screen_h*screen_scale);
draw_set_blend_mode(bm_normal);
screen_refresh();
Цитата від: screen_end
// this sets surface 'screen' as the drawing target for everything in the game, so all drawing will be done on this surface and not on the game screen
surface_set_target(screen);
КРОК 3 : Зараз у нас є сценарії, але куди вони дістаються? Створіть об’єкт. Як, наприклад, obj_screen, objScreen, o_screen чи будь-що інше, і виконайте наступне:
- A) розмістіть screen_initscript у події Create.
- В) розмістіть скрипт screen_begin у події Початок кроку.
- C) розмістіть скрипт screen_end у події End Step.
І розмістіть цей об’єкт у першій і головній кімнаті вашої гри, позначте його стійким та переконайтесь, що в ньому немає його дублікатів.
Ви закінчили, а тепер приємного, чіткого масштабування = D