Пятница, 29 Марта 2024, 14:54

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unreal Engine » Гексагональная доска (Помогите в создании гексагональной доски)
Гексагональная доска
SertinДата: Вторник, 16 Апреля 2013, 23:08 | Сообщение # 1
был не раз
Сейчас нет на сайте
Нужно помощь в создании гексагональной доски или ссыль на урок по теме.

гексагональная доска 9х13
Цель такая, доска с 1 пешкой, перемещение по клику, поочередно на одну клетку, соприкасающейся полигоном, с начальной ячейкой. (пример Герои)
Совершенно не представляю как это сделать в Udk.
Нужен простенький пример перемещения по клику, на указанный полигон...
Помогите sad


Сообщение отредактировал Sertin - Вторник, 16 Апреля 2013, 23:17
lentinantДата: Среда, 17 Апреля 2013, 00:36 | Сообщение # 2
ленивый программист
Сейчас нет на сайте
Вообще, вариант с отдельными шестиугольниками не самый удобный с точки зрения дизайна - каждый придется выставлять вручную. Хотя, есть вариант спавнить их с кода. Но если тебе этот вариант подходит, алгоритм будет выглядеть примерно так.

Для начала, тебе нужно реализовать интерфейс с мышкой (не просто отображением мышки, а конвертированием ее двухмерных координат в трехмерные игровые). Много полезного можно взять, например, отсюда. Там же есть код для отслеживания актора, который сейчас находится под мышкой.

Припустим, ты модифицировал код, чтобы камера была фиксированной, ПлеерКонтроллер - не привязанным к павну (впрочем, не обязательно), ну и уровень с шестигранниками у тебя есть. Также тебе понадобятся классы павнов юнитов и их AI-контроллеры с уже прописанными командами типа "Переместиться к координате A). В PlayerController создаешь переменную активного юнита или его контроллера. Перегружаешь StartFire (или создаешь свою функцию, и привязываешь ее к левой кнопке мыши), делаешь проверку на доступность клетки (например, расстояние между активным юнитом и выделенной клеткой не должно превышать определенное значение), если проверка дала позитивный результат, даешь контроллеру приказ двигаться к координате выделенной клетки.


Когда-то тут будут ссылки на крутые проекты. Или нет.

Сообщение отредактировал lentinant - Среда, 17 Апреля 2013, 03:10
SertinДата: Четверг, 18 Апреля 2013, 05:27 | Сообщение # 3
был не раз
Сейчас нет на сайте
Цитата (lentinant)
Припустим, ты модифицировал код, чтобы камера была фиксированной, ПлеерКонтроллер - не привязанным к павну (впрочем, не обязательно), ну и уровень с шестигранниками у тебя есть. Также тебе понадобятся классы павнов юнитов и их AI-контроллеры с уже прописанными командами типа "Переместиться к координате A). В PlayerController создаешь переменную активного юнита или его контроллера. Перегружаешь StartFire (или создаешь свою функцию, и привязываешь ее к левой кнопке мыши), делаешь проверку на доступность клетки (например, расстояние между активным юнитом и выделенной клеткой не должно превышать определенное значение), если проверка дала позитивный результат, даешь контроллеру приказ двигаться к координате выделенной клетки.


А можно поподробнее? dry
AvatarusДата: Четверг, 18 Апреля 2013, 09:42 | Сообщение # 4
участник
Сейчас нет на сайте
Цитата (Sertin)
А можно поподробнее?

Да куда уж подробней? И так уже все что надо расписали. Или ты надеешься, что за тебя код напишут? Документацию в зубы и вперед, не надейся ни на кого.
А вообще не надо из пушки по воробьям стрелять. Бери Юнити, в UDK лучше реалтаймовые игры делать.



Фанатский сиквел The Legend of Zelda - Twilight Princess
Website ◄ ► Channel
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unreal Engine » Гексагональная доска (Помогите в создании гексагональной доски)
  • Страница 1 из 1
  • 1
Поиск:

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