Top-Down Shooter в Gamemaker. Часть 2 - Враги, очки и небольшие правки | Урок по Gamemaker Studio 2
Вставка
- Опубліковано 19 чер 2024
- Создаём игру в жанре Top-Down Shooter на Gamemaker Studio 2.
В этом видео мы:
- Сделаем врагов
- Добавим возможность их убить
- Добавим подсчёт очков за противников
- Выведем счётчик очков на экран
- Сделаем небольшие правки в коде
Ссылка на наш Discord: / discord
Таймкоды:
00:00 Вступление и создание шаблона под противника
01:33 Создаём неподвижную мишень
04:15 Выводим очки на экран
06:25 Создаём двигающегося врага
10:00 Делаем рестарт игры при касании с врагом
10:41 Делаем правки в коде
Отличное и информативное видео! Благодарю!
Не понимаю почему у тебя так мало просмотров! Ты же хорошо объясняешь!
я вообще коекак этот канал случайно откопал спустя 5 месяцев, чтото ютуб не охотно к нему относится.
Спасибо за урок!
Если у вас не работает попадание и пуля летит мимо, то проверьте физику в комнате. Возможно она есть и по этому это не работает
А можно ли сделать урон в диапазоне от (условно) 3 до 7? Или это никак не реализовать в этой программе?
Это делается очень просто. Сначала пишешь randomize(), чтобы у тебя каждый раз новый сид для случайного числа создавался (иначе функции для случайных чисел будут давать один и тот же результат). Потом, чтобы зарандомить число используешь random_range(от, до). Она даёт случайное число, включая дробные. Но думаю в твоём случае лучше irandom_range(от, до)
P.S. Документация движка говорит, что достаточно один раз где-то вызвать randomize() в начале игры, постоянно вызывать не надо вроде как
@@gdjourney7355 Спасибо)
пожалуйста расскажите как сделать ресет очков после смерти персонажа?
Ставишь в месте, где у персонажа заканчиваются жизни score = 0 и всё
там, где у тебя collision противника с игроком описан, игра рестартится. добавь после game_restart(); событие HP = 0;
*Давно пишешь на gms2? Я тоже пишу игру, но у меня в плане графики сложная, весит уже 183мб,можешь на канале посмотреть видео*
Пишу не очень давно, но я с этим движком, судя по всему надолго
Что делать если пуля пролетает сквозь объект а
Если пуля пролетает сквозь врагов и не попадает в них, даже, когда все коллизии правильно настроены, это значит, что скорость снаряда слишком высокая. Физика игры обрабатывается, как и сама игра с определённой частотой, поэтому в одном кадре снаряд перед врагом, в следующем он уже за ним, следовательно попадание не засчитывается. Чтобы такого не было нужно или уменьшить скорость пули, или сделать её хитбокс длинней в редакторе. Есть ещё всякие трюки, но они уже сложней
Из довольно распространённых приёмов в шутерах, можно к пуле привязать короткий луч сзади, который будет дополнительно проверять касание. В GameMaker это можно сделать с помощью collision_line(), которую можно направлять через lengthdir. В общем, думаю разберёшься, как это реализовать. Я, наверно, как-нибудь видео про эту проблему запишу.
@@gdjourney7355 спс