Пятница, 19 Апреля 2024, 18:05

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Перемещение ИИ
Перемещение ИИ
FrankyДата: Вторник, 29 Октября 2013, 18:59 | Сообщение # 1
был не раз
Сейчас нет на сайте
Всем привет. Ребята помогите сделать такое действие:
Создается объект которые перемещается только по оси y, при этом он рандомно меняет направление движение. Спасибо, буду очень благодарен.
SyankДата: Среда, 30 Октября 2013, 10:36 | Сообщение # 2
участник
Сейчас нет на сайте
Один из способов, самый банальный:
В событии содания поставь будильник на пример на 120 шагов.
так же там создай переменную mdir='down'
в будильнике напиши
if mdir='up' then mdir='down' else mdir='up'
и зацикли его добавив alarm[0]=120
можно даже попробовать alarm[0]=1+irandom(120), может сработает.
вместо 1 минимальное возможное значение
Затем в событии шага пиши
if mdir='up' then y-=2
if mdir='down' then y+=2
Вместо 2 меняй значение для получения нужной скорости.
Это без учёта столкновений.
FrankyДата: Среда, 30 Октября 2013, 11:28 | Сообщение # 3
был не раз
Сейчас нет на сайте
Syank, теперь мой ИИ просто уходит в нижнюю правую сторону...
GameMixДата: Среда, 30 Октября 2013, 18:49 | Сообщение # 4
старожил
Сейчас нет на сайте
Franky, если объект перемещается только по оси Y, то можно реализовать так:
В Step или другое подобное событие:
Код
var Time; // переменная для таймера
Time = 0;
if (Time >= room_speed * 3) // если прошло 3 секунды
     {
     Time = 0; // обнуляем таймер
     direction = choose(90, 270);
     }
else Time += 1;

Хотя подозреваю, что это не то, что нужно... Точнее сформулируй задачу smile


Steel Standoff - 2D аркада.
Мои статьи
FarcuatДата: Среда, 30 Октября 2013, 19:20 | Сообщение # 5
частый гость
Сейчас нет на сайте
Такой вариант: Движемся по Y, случайно меняем направление. Плюс гарантия невыхода из отрезка [YA; YB].

Это в Create
Код

     YA = 50;
     YB = 550;
     Speed = 15;
     YNew = y;


Это в Step
Код

     if(distance_to_point(x, YNew) < Speed)
     {
         YNew = random_range(YA, YB);
         move_towards_point(x, YNew, Speed);
     }
FrankyДата: Четверг, 31 Октября 2013, 00:11 | Сообщение # 6
был не раз
Сейчас нет на сайте
Farcuat, спасибо, Ваш вариант работает на все 100! GameMix, Syank, вам тоже спасибо, но у меня не получилось применить то что вы написали..
SyankДата: Пятница, 01 Ноября 2013, 11:55 | Сообщение # 7
участник
Сейчас нет на сайте
Я говорил, при рандоме будильник иногда может перестать срабатывать... почему то)
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Перемещение ИИ
  • Страница 1 из 1
  • 1
Поиск:

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