Есть ли способ сделать фонарик, который не может пройти через твердые объекты в Game Maker

Я делаю 2D (сверху вниз) ужасную игру в Game Maker. У каждого игрока есть вспышка, которая истощает сверхурочно. Фонарик использует поверхности для рисования света, и конус со временем уменьшается. Я бы хотел, чтобы фонарик действовал как настоящий фонарик, а не проходил сквозь стены. Есть какой-либо способ сделать это? Изображение того, как я хочу, чтобы это выглядело

1 ответ

Как ты сейчас рисуешь свой фонарик? Я бы порекомендовал не рисовать фонарь-спрайт, а вместо этого заполнять поверхность черным (чтобы она была темной) и вырезать из этого свет.

Затем вы можете использовать функцию collision_line, чтобы заметить дугу вашего игрока и узнать, где он попадает на объект, или же линия проходит за пределы диапазона вашего фонарика. Затем сохраните все эти вершины и нарисуйте примитив со смешиванием, чтобы он действовал как фонарик. Надеюсь, что это имеет смысл, в противном случае, клянусь, я видел некоторые посты на форумах разработчиков игр об этом, удачи!

Другие вопросы по тегам