← Все вопросы

Как сделать в игре, чтобы враг гонялся за игроком?

Задан 19 месяцев назад615 просмотров2 ответа
8

Делаю игру и хочу, чтобы монстр преследовал героя, а не стоял на месте. Как заставить врага бегать за игроком? Объясните попроще, я новичок.

2 ответа

11
✓ Принятый ответ — помог автору

Чтобы враг гонялся за тобой, ему дают простое правило: «двигайся в сторону героя». 👾

Идея совсем не страшная. Каждый кадр игра спрашивает: «где сейчас герой?» и чуть-чуть двигает врага в его сторону. Делает так снова и снова — и кажется, будто монстр умный и преследует! 🏃💨

Самый простой способ — сравнить координаты:

если герой_x > враг_x:
    враг_x = враг_x + скорость   # герой правее → идём вправо
иначе:
    враг_x = враг_x - скорость   # герой левее → идём влево

То же самое можно сделать и по вертикали (вверх-вниз). Тогда враг будет двигаться к тебе в любом направлении. 🧭

В Scratch это вообще одна команда — «повернуться к спрайту Герой» и «идти 5 шагов». Враг сам развернётся и пойдёт к тебе! 🧩

Хитрость со сложностью:

  • хочешь врага полегче — сделай его скорость меньше, чем у героя (тогда можно убежать); 🐢
  • хочешь пострашнее — скорость побольше! ⚡

Частая ошибка: сделать врага быстрее игрока — тогда от него невозможно убежать, и играть обидно. Поэтому обычно враг чуть медленнее героя.

Когда освоишь простое преследование, можно добавить, чтобы враг гнался, только если ты близко — а далеко просто гулял. Так он кажется ещё живее! 🎮

4

Правило простое: каждый кадр двигай врага в сторону героя.

Сравни их координаты: если герой правее — двигай врага вправо, если левее — влево (и так же вверх-вниз). Повторяй каждый кадр — получится преследование.

В Scratch есть готовые блоки «повернуться к спрайту» и «идти шаги». Сделай врага чуть медленнее героя, иначе убежать невозможно и играть обидно. 🐢

Ваш ответ

, чтобы ответить на вопрос.