Воскресенье, 22 Декабря 2024, 14:52

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Слежение за игроком.
ZiPДата: Воскресенье, 28 Ноября 2010, 15:39 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Доброго времени суток!
У меня возникла проблема при создании врага, а слежение за игроком.
Я использую вот этот код в "step" врага:
Code
if distance_to_object(plr)<=100
{
move_towards_point(plr.x,plr.y,move_speed);
}

А в "collision" со стеной вот этот код:
Code
speed=0;

И у меня возникла проблема, если враг сталкивается с горизонтальной или вертикальной стеной стоящей по траектории движения к игроку, то он останавливается.
Подскажите какой код надо прописать для врага, чтоб когда дистанция до него меньше либо равна заданной, он двигается к игроку обходя препятствия.
P.S. Воспользоваться "Кнопками" не предлагать, не пользуюсь.
И что? Никто не поможет?






Сообщение отредактировал ZiP - Воскресенье, 28 Ноября 2010, 16:20
(_Meloman_)Дата: Воскресенье, 28 Ноября 2010, 17:08 | Сообщение # 2
участник
Сейчас нет на сайте
mp_potential_step(x,y,stepsize,checkall) Подобно предшествующей функции, но эта функция позволяет, чтобы образец объекта перемещался к конкретной позиции. Но в этом случае, он пытается избегать препятствий. Когда образец объекта должен встретить твёрдый образец объекта (или любой образец объекта, когда checkall - истина), то он изменит направление движения, пытаясь избежать столкновения с другим образцом и переместиться вокруг него. Метод не гарантируется, чтобы использовать его всё время, но в большинстве простых случаев - это эффективно переместит образец объекта к нужной цели. Функция возвращает, если была достигнута цель.

ZiPДата: Воскресенье, 28 Ноября 2010, 17:16 | Сообщение # 3
почетный гость
Сейчас нет на сайте
Смотрел в книгу(справку), видел "фигy".
(_Meloman_), огромное спасибо!






Сообщение отредактировал ZiP - Воскресенье, 28 Ноября 2010, 17:19
QnizzaДата: Среда, 01 Декабря 2010, 19:43 | Сообщение # 4
почетный гость
Сейчас нет на сайте
создай обьект о_controller
у него в крите

setka=mp_grid_create(0,0,room_width/32,room_height/32,32,32)
mp_grid_add_instances(setka,обьект стены,true)

у бота в крите
put=path_add()

в степе

if point_distance(x,y,hero.x,hero.y)<нужное тебе растояние
{
mp_grid_path(o_controller.setka,put,x,y,hero.x,hero.y,true)
path_start(put,скорость движения,0,true)
}

  • Страница 1 из 1
  • 1
Поиск:

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