Среда, 18 Декабря 2024, 14:23

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Движения врагов - союзников.
MrFozzieДата: Четверг, 26 Января 2012, 14:33 | Сообщение # 1
был не раз
Сейчас нет на сайте
Доброго времени суток. Надеюсь вы мне поможете. Хотелось бы решить одну проблему по поводу движений и атаки как союзных так и вражеских "объектов". Расскажу вам всё подробнее чтобы все поняли, т.е. по пунктам.
1. Односторонее движение "объектов" к вражескому центру. (союз к врагам и наоборот).
2. При движение они встречаются друг с другом и по моей задумке атаковать.
3. Также движение "объектов" в две точки, сначала в одну и далее к самому центру (союз к врагам и наоборот).

Больше вопросов нет. Хотелось бы получить объяснение как это сделать и желательно логическую цепочку, пример тоже не помешает.
Заранее благодарю.
NewLangДата: Четверг, 26 Января 2012, 14:53 | Сообщение # 2
#include MegaGame.h
Сейчас нет на сайте
1. Либо при помощи путей либо через move torward
2. Сделай к спрайту чуваков конусную маску, а в collision объекта пиши instance_create(объект пули)
В пуле в create пропиши скорость


I'm Lang. NewLang
Изучаю C++
kasheyДата: Четверг, 26 Января 2012, 15:16 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Quote (MrFozzie)
1. Односторонее движение "объектов" к вражескому центру. (союз к врагам и наоборот).

Обычно в стратегиях вражеский центр это что то вроде главного здания. Тоесть когда появляется вражеский юнит, мы с помошью системы поиска пути (на ГМ можно реализовать множество таких) устанавливаем точку атаки на него и начинаем движение.
На практике это легче всего сделать со встроенной системой поиска пути по сетке mp_grid_path().
Создаем сетку mp_grid_create()
Сразу же считаем путь от обьекта до вражеского центра mp_grid_path()
Начинаем движение path_start()
Quote (MrFozzie)
2. При движение они встречаются друг с другом и по моей задумке атаковать.

Пока враг идет по пути к вражескому центру, ему могут встретиться союзные войска.
Чтобы по дороге он смог их атаковать, ставим таймер. alarm[0]
В таймере проверяем, есть ли в радиусе n вражеского юнита союзные войска if distance_to object(units_parent)<n.
Если есть, опять же считаем путь, только уже до вражеского юнита, попавшего в радиус видимости. Начинаем движение и ставим таймер на повтор через несколько секунд. Теперь враг будет атаковать любой ближайший юнит в радиусе. Осталось только добавить строчку, которая установит цель для юнита обратно на вражеский центр, если в радиусе видимости больше нет врагов.
Все на самом деле очень просто.
Quote (MrFozzie)
3. Также движение "объектов" в две точки, сначала в одну и далее к самому центру (союз к врагам и наоборот).

3. Система поиска пути mp_grid уже включает в себя движение через несколько точек к цели. При этом учитывает препятствия, если они заданы.
MrFozzieДата: Четверг, 26 Января 2012, 22:12 | Сообщение # 4
был не раз
Сейчас нет на сайте
kashey, с логикой согласен, но как же это в коде то wacko
kasheyДата: Четверг, 26 Января 2012, 23:06 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Ну ты же просил логическую цепочку, я ее тебе дал. Если я начну писать код, то придется полностью написать всю механику за тебя.
Есть справка, открывай на функциях mp_grid и штудируй smile
MrFozzieДата: Пятница, 27 Января 2012, 09:16 | Сообщение # 6
был не раз
Сейчас нет на сайте
kashey, Всё спасибо разобрался biggrin
  • Страница 1 из 1
  • 1
Поиск:

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