Я новичок в GameMaker 1.4, но у меня есть некоторый опыт работы с Python и C++. Я создал матрицу случайных целых чисел от 1 до 5 включительно, чтобы представить количество этажей каждого здания на карте. Я хочу использовать это, чтобы нарисовать набор квадратов 10x10 со светло-серыми квадратами, представляющими более высокие здания. К сожалению, я не могу заставить квадраты оставаться одного цвета. Они постоянно мерцают между цветами.
Как я могу заставить их перестать мерцать и правильно отображать соответствующие значения?
Вот мой сценарий:
// Random 2D Map Height Generator
/*
Generates a matrix which is used for determining
the amount of stories per building in the game.
Then draws squares of different colors to represent
the number of stories of each building.
*/
ct = irandom(1);
// create array
for (i = 0; i <= global.height; i += 1) {
for (j = 0; j <= global.width; j += 1) {
mapArray[i, j] = irandom_range(1, 5);
if (ct % 2 != 0 && mapArray[i, j] < 5) {
mapArray[i, j] += 1;
}
ct += 1;
}
}
// make colors
one = make_color_rgb(0, 0, 0);
two = make_color_rgb(51, 51, 51);
three = make_color_rgb(102, 102, 102);
four = make_color_rgb(153, 153, 153);
five = make_color_rgb(204, 204, 204);
// initialize coordinates
ex = 300;
wy = 100;
// count columns
// draw map
for (i = 0; i <= global.height; i += 1) {
for (j = 0; j <= global.width; j += 1) {
ex2 = ex + 30;
wy2 = wy + 30;
switch (mapArray[i, j])
{
case 1:
draw_set_color(one);
break;
case 2:
draw_set_color(two);
break;
case 3:
draw_set_color(three);
break;
case 4:
draw_set_color(four);
break;
case 5:
draw_set_color(five);
break;
default:
draw_text(200, 200,
"ERROR: scr_mapGeneration, case not met");
break;
}
draw_rectangle(ex, wy, ex2, wy2, false);
ex += 33;
if (j == global.width) {
wy += 33;
ex = 300;
}
}
}
Я вызываю его в объекте с событием рисования и выполняю с ним этот код:
script_execute(scr_mapGeneration);
Я вызываю randomize();
в исходном коде создания моей комнаты. Проблема возникает в другой комнате.
Вот картинка того, что получается, очевидно, на этой картинке нет мерцающих квадратов.
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
irandom()
иirandom_range()
. - person user1118321   schedule 14.06.2018