Глобальная переменная / затухание не срабатывает - PullRequest
0 голосов
/ 22 марта 2019

Я использую GameMaker 2.

Пытаюсь заставить кусок кода работать, что, когда сигнал тревоги достигает 12 секунд, он изменяет глобальную переменную внутри объекта, которая затем запускает объект, чтобы выполнить егонормальный процесс - выцветание экрана до черного.Однако это не работает, и я не могу понять, что не работает.

Это код, который у меня есть на данный момент;

Создать:

variable_timer = 100;

global.fadeoutsimilarities = 0;

alarm[0] = room_speed * 12;

Шаг:

variable_timer-=1;

Тревога 0:

global.fadeoutsimilarities = global.fadeoutsimilarities + 1;

Ничья:

if (global.fadeoutsimilarities)
{
   draw_set_color(c_black);
   draw_set_alpha(variable_timer/30);
}

else {}

Есть идеи о том, что мешает ему исчезнуть в черном цвете?

1 Ответ

1 голос
/ 22 марта 2019

variebla global.fadeoutsimilarities = 0; это числовая переменная и при размещении global.fadeoutsimilarities = global.fadeoutsimilarities + 1; вы говорите ему добавить до 1, тогда я буду 1, затем 2, 3, 4, ... и так, и в случаеНарисуйте, вы помещаете условное if (global.fadeoutsimilarities), что означает if global.fadeoutsimilarities = 1, оно будет черным, но это произойдет только во время кадра за мгновение, решение - change the values ​​of global.fadeoutsimilarities by true and false,, это будет выглядеть так:

Создать:

variable_timer = 10;

global.fadeoutsimilarities = false;

alarm [0] = room_speed * 12;

Шаг:

//without code

Тревога 0:

global.fadeoutsimilarities = true;
variable_timer -=1;

Ничья:

if (global.fadeoutsimilarities)
{
   draw_set_color (c_black);
   draw_set_alpha (variable_timer / 10);
}

Если у вас есть сомнения, напишите мнеwww.facebook.com/BusyClown

Если я чем-нибудь помогу, дайте мне + 1

...