Как сделать в игре, чтобы враг гонялся за игроком?
Делаю игру и хочу, чтобы монстр преследовал героя, а не стоял на месте. Как заставить врага бегать за игроком? Объясните попроще, я новичок.
2 ответа
Чтобы враг гонялся за тобой, ему дают простое правило: «двигайся в сторону героя». 👾
Идея совсем не страшная. Каждый кадр игра спрашивает: «где сейчас герой?» и чуть-чуть двигает врага в его сторону. Делает так снова и снова — и кажется, будто монстр умный и преследует! 🏃💨
Самый простой способ — сравнить координаты:
если герой_x > враг_x:
враг_x = враг_x + скорость # герой правее → идём вправо
иначе:
враг_x = враг_x - скорость # герой левее → идём влево
То же самое можно сделать и по вертикали (вверх-вниз). Тогда враг будет двигаться к тебе в любом направлении. 🧭
В Scratch это вообще одна команда — «повернуться к спрайту Герой» и «идти 5 шагов». Враг сам развернётся и пойдёт к тебе! 🧩
Хитрость со сложностью:
- хочешь врага полегче — сделай его скорость меньше, чем у героя (тогда можно убежать); 🐢
- хочешь пострашнее — скорость побольше! ⚡
Частая ошибка: сделать врага быстрее игрока — тогда от него невозможно убежать, и играть обидно. Поэтому обычно враг чуть медленнее героя.
Когда освоишь простое преследование, можно добавить, чтобы враг гнался, только если ты близко — а далеко просто гулял. Так он кажется ещё живее! 🎮
Правило простое: каждый кадр двигай врага в сторону героя.
Сравни их координаты: если герой правее — двигай врага вправо, если левее — влево (и так же вверх-вниз). Повторяй каждый кадр — получится преследование.
В Scratch есть готовые блоки «повернуться к спрайту» и «идти шаги». Сделай врага чуть медленнее героя, иначе убежать невозможно и играть обидно. 🐢