Четверг, 28 Марта 2024, 20:14

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » ИИ ТДС.
ИИ ТДС.
kvestproДата: Пятница, 04 Января 2013, 17:40 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
Делаю ТДС. Есть проблема.
У противника есть поле зрения. Если игрок в поле зрения, то противник должен запомнить координаты игрока и идти к ним.
Я сделал поле зрения противника и движение с обходом препятствий.
Но как сделать это:
Если игрок вышел из поля зрения (Появилась стена, Слишком большое расстояние и т.д), противник должен прийти к месту, где игрок был последний раз в поле зрения. Когда противник окажется там, он должен покрутиться 1-3 раза. (?)
Вот что я придумал.
Код
if instance_exists(o_player) //если объект игрока существует.
{
  if point_distance(x, y, o_player.x, o_player.y) < 201 //если дистанция меньше 201
   {  
    var dir;                    //Расчет угла обзора.
dir = point_direction(x, y, o_player.x, o_player.y);              
if abs(dir_difference(image_angle, dir)) <= 90 / 2
{  
path_end()                    //Если условия выполняются, тогда закончить путь.
   xzametil=o_player.x                    //записать x и y игрока
   yzametil=o_player.y
  scr_poiskputi()                    //двигаться к x и y игрока
  }
  }
  }

Но противник постоянно берет координаты игрока и идет к ним.
Как сделать, чтобы противник запомнил 1 раз и шел к координатам, а не запоминал каждый шаг?

Добавлено (04.01.2013, 17:40)
---------------------------------------------
Проблему решил. Закройте тему.


Инверсная кинематика в Unity
Алгоритм поиска пути Jump Point Search
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » ИИ ТДС.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг