0

我正在使用 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 {}

关于是什么阻止它变黑的任何想法?

4

1 回答 1

1

变量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

于 2019-03-22T20:59:00.520 回答