Как сделать убийство врагов путем прыжка на их голову? Как в марио!
не работаю с GM, но реализация везде, практически, одинаковая. Через коллизию, проверяй какую часть персонажа касается ваш ГГ и в соответствии с условием выполняйте действия. Коллизия в GM на сколько мне подсказывает гугл - есть, читайте в документации, что такое Collision и у вас все получится.
Надо понять как вообще игры делать. Способы различны, но я бы создавал коллизию как и сказал maker-rus. Можно создавать во время прыжка объект коллизии который будет в ногах и заставлять его двигаться по этим координатам (тобишь в ногах) и при соприкосновении с врагом воспроизводить скрипт смерти врага. Когда игрок не в прыжке, то уничтожаем этот объект коллизии. Что первое придумал.
я так понимаю прыжок и движение реализованы. (если нет, то надо писать - создайте платформер с нуля) начнем, когда объект прыгает он летит вверх, далее он начинает двигаться вниз. вот при движении вниз добавь переменную например летит вниз vniz_ok = 1; иначе в любом другом случае vniz_ok = 0;
if(vniz_ok = 1)and(kontr_stolk=1) { //тут можно и квадрат столкновения внизу нарисовать нужного размера //collision_rectangle(x-ширина_юнита,y,x+ширина_юнита,y+длинна_объект_вниз_к_ногам,объект_враг,false,true);//рисуем квадрат //проверяем есть ли столкновении линии которая смотрит вниз mm = collision_line(x,y,x,y+длинна_объект_вниз_к_ногам,объект_враг,false,true);//рисуем линию if(mm) { mm.Delete=1;//у врага пишем в Step if(Delete=1){instance_destroy()} kontr_stolk=0; } } //если столкновения сверху не было то проверит есть ли вообще столкновение if(kontr_stolk=1) { nn=collision_point(x,y,объект_враг,false,true); if(nn) { instance_destroy() } } }
должно работать как часы
Сообщение отредактировал ss87ss - Понедельник, 22 Октября 2018, 13:33