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

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Ракетное вооружение (проблема реализации самонаводящихся ракет)
Ракетное вооружение
КомиссарДата: Суббота, 30 Марта 2013, 13:01 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
Прошу помочь в реализации самонаводящихся ракет.

Первая проблема состоит в выборе ближайшей вражеской цели (в игре их несколько типов).
Скажем, у меня есть три типа целей: фрегат, крейсер и носитель (o_frigate, o_cruiser, o_carrier).
Игрок только нажимает кнопку пуск, а дальше ракета выбирает цель и наводится автоматически.
Как сделать так, чтобы выпущенная ракета наводилась на любую ближайшую цель из этих трёх типов?

Вторая проблема состоит в том, что делать ракете, если цель потеряна (например, подорвана предыдущей ракетой).
По идее при потере цели должен осуществляться самоподрыв такой ракеты, но пока что либо ракета перенаводится на другую цель, либо, если все цели поражены, просто возникает ошибка поиска координаты объекта.

Может кто-нибудь помочь примером или исходником с этой функцией?


MR_BorgДата: Суббота, 30 Марта 2013, 13:21 | Сообщение # 2
участник
Сейчас нет на сайте
Цитата (Комиссар)
Как сделать так, чтобы выпущенная ракета наводилась на любую ближайшую цель из этих трёх типов?

Сделать родителя и проверять 1 раз.

Цитата (Комиссар)
По идее при потере цели должен осуществляться самоподрыв такой ракеты, но пока что либо ракета перенаводится на другую цель, либо, если все цели поражены, просто возникает ошибка поиска координаты объекта.

trg=instance_nearest(x,y,obj)

if(!instance_exists(trg))
{
kill
}
Как то так


Изучаю C++ попутно пишу игру.
КомиссарДата: Среда, 03 Апреля 2013, 13:24 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
MR_Borg, не, не так.
Функций kill и trg не существует, однако всё равно спасибо, т.к. это натолкнуло меня на мысль, и в итоге я понял, как реализовать функции наведения на ближайшую цель и самоподрыв.
Правда, ракеты по-прежнему перелетают от одной цели к другой в противоположные углы карты, и теперь остаётся только решить, баг это или фича. biggrin


GameMixДата: Среда, 03 Апреля 2013, 15:04 | Сообщение # 4
старожил
Сейчас нет на сайте
Цитата (Комиссар)
Функций kill и trg не существует

trg - это не функция, а переменная, в которую записывается результат функции instance_nearest().
kill - скорее всего, это условное обозначение самоуничтожения ракеты - instance_destroy().


Steel Standoff - 2D аркада.
Мои статьи
MR_BorgДата: Среда, 03 Апреля 2013, 15:36 | Сообщение # 5
участник
Сейчас нет на сайте
Держи примерчик ТЫК
Тыкай лкм.


Изучаю C++ попутно пишу игру.
КомиссарДата: Воскресенье, 07 Апреля 2013, 15:02 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
MR_Borg, да, похоже, это как раз то, что нужно.
Спасибо.
Через три дня плюс тебе поставлю. Пока лимит. smile




Сообщение отредактировал Комиссар - Воскресенье, 07 Апреля 2013, 15:05
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Ракетное вооружение (проблема реализации самонаводящихся ракет)
  • Страница 1 из 1
  • 1
Поиск:

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