Я делаю 2D (сверху вниз) ужасную игру в игре. У каждого игрока есть вспышка, которая стекает сверхурочно. Фонарик использует поверхности, чтобы нарисовать свет, а конус становится меньше сверхурочным. Я хотел бы, чтобы фонарик работал как настоящий фонарик вместо того, чтобы проходить сквозь стены. Есть какой-либо способ сделать это? Picture of what I want it to look likeесть способ сделать фонарик, который не может проходить сквозь твердые объекты в игровом устройстве
Q
есть способ сделать фонарик, который не может проходить сквозь твердые объекты в игровом устройстве
0
A
ответ
0
Как вы сейчас рисуете фонарик? Я бы рекомендовал не рисовать спрайт-фонарик и вместо этого заполнять поверхность черным (действовать как темнота) и вырезать из него свет.
Затем вы можете использовать функцию collision_line для прокручивания дуги с вашего плеера и получить либо там, где она попадает на объект, либо линия простирается от вашего фонарика. Затем сохраните все эти вершины и нарисуйте примитив с наложением в качестве фонарика. Надеюсь, что это имеет смысл, иначе я клянусь, что видел некоторые сообщения на форумах gamemaker, удачи!