Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Обводка гексагона

xflyiwnl

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
xflyiwnl
Эх, мне опять нужна ваша помощь. У меня есть массив из гексагонов и я отобразил все гексагоны из этого списка на карте, всё отображается. НО, мне надо сделать так, чтобы чёрная обводка рисовалась только по крайним границам гексагонов (Показал ниже на картинке какую линию убрать).

Я предполагаю, что в классе Side надо сделать метод, который будет проверять к каким гексагонам он присоединён. И сделать проверку на количество гексагонов, если гексагонов больше 1, то этот Side не отображать. Если 1, то отображаем. Возникает вопрос, как?

@Dymeth
@0xLairon1

Где должна быть проверка ->
Класс Grid, метод List<Side> bounds(List<Hexagon> hexagons).
Выделил там местечко для проверки # todo...

upload_2023-3-26_1-52-31.png

Тут был код, я его удалил в целях безопасности. Если нужна - tвконтакте
 
Последнее редактирование:
Не читал пока полностью, но логика такая:
Получить поочередно каждый из шести соседних участков и проверить, что он существует и имеет тот же тип, что и центральный.
Получить соседний участок можно просто манипулируя с координатами центрального участка. Смещения координат всегда одинаковые для всех 6-и сторон, их можно просто захардкодить (задать константами)
 
Не читал пока полностью, но логика такая:
Получить поочередно каждый из шести соседних участков и проверить, что он существует и имеет тот же тип, что и центральный.
Получить соседний участок можно просто манипулируя с координатами центрального участка. Смещения координат всегда одинаковые для всех 6-и сторон, их можно просто захардкодить (задать константами)
Ты возможно меня не понял, у меня есть список гексагонов и мне надо отобразить общую границу всех геесагонов, чтобы рисовались только края. А не отобразить границу каждому гексагону отдельно
 
Ты возможно меня не понял, у меня есть список гексагонов и мне надо отобразить общую границу всех геесагонов, чтобы рисовались только края. А не отобразить границу каждому гексагону отдельно
Ну правильно. Для каждой границы необходимо проверить, граничит ли она с участком такого же типа. Если граничит, то не рисуешь линию. Если не граничит, то рисуешь
 
Ну правильно. Для каждой границы необходимо проверить, граничит ли она с участком такого же типа. Если граничит, то не рисуешь линию. Если не граничит, то рисуешь
Значит я тебя не понял, а так я решил сам методом перебора и тыка, тема закрыта.

upload_2023-3-27_3-38-32.png
 
Последнее редактирование:

Поделиться этой страницей

Назад
Верх