У меня такой вопрос как разбить фигуры на прямоугольники?
возьмем такую ситуацию, что вам заранее известна форма, и имеются точки. нужно разбить фигуру на прямоугольники (rect), дело в том что саму область-фигуру не добавишь в регион. По любому надо разбивать на ректы. Ими проще проверять лежит ли точка внутри ректа или нет, чем какая то фигура.
Я уже многое сделал, у меня система находит эту фигуру. И надо после разбить на ректы.
Вот пример уже имеются 6 точек p1-p6, могу найти p7-p8. Теперь надо как-то собрать ректы (на глазок понятно что там 3, а то и меньше 2). надо как-то написать алгоритм, что эти отрезки образовали ректы
Фигуры могут быть любой формы
находил такой вопрос вот здесь, но ответа не нашел. алгоритм просто нужен

Вот конечный вариант. Переделал на хэш-таблицу
Исправил многие подвисы - большая часть которых эта строки. Именно строки вызывают подвисы. Они не только в дебагах, но в ExecuteFunc, строковое название молнии и пр. И теперь молнии могу миллиардами создавать без проблем. Я тексты строк все сохранил в бд. Без этого почему у юнитов анимация ходьбы поддергивалась.
Теперь все работает как надо и как часики. Единственная зараза - когда строю несколько деревней, потом вылетает чего-то с критом. Но это происходит очень и очень редко. где-то с шансом 0.05%. Возможно либо работаю с несуществующими объектами либо пытаюсь выгрузить из хэша не существующие данные. У вара какие то проблемы.
Пробовал вставить проверки GetHandleId(object) > 0 или HaveSavedReal или HaveSavedHandle - теперь сохранять карту не хочет. Пробую снова написать код

Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
27
prog, идеального не обязательно. главное что все вошли. остальное не важно. я эти участки добавлю в регион.
У меня регион помогает при проверке можно строить, покупать, ставить туда. короче все на регион завязано. есть удобная нативка
27
prog, ну чтобы ректы добавить в регион. с помощью региона я и проверяю. лежат ли точки, не лежат. типа как новый тип Pathable (их всего 8, но могу доп добавлять еще триггерный аналог). с помощью этой штуки все проверяется. пока мне нравится)
24
Судя по видео, у тебя все добавляемые в регион участки прямоугольные - просто делаем временный рект на весь добавляемый участок, добавляем в регион и удаляем рект (или, если ректы можно двигать, я не помню уже - двигаем один и тот же рект каждый раз в нужное место).
30
Если не нужны события входа/выхода, то можно хранить массив рёбер и не связываться с ректами.
24
Steal nerves, можно ли двигать это не главное - подходит ли тебе этот вариант с добавлением ректа в регион в слепую или есть какие-то не озвученые условия которые не позволяют так делать?
27
prog, я раньше так делал (я себе немного усложнил задачу). есть условия. например, участок мб занят другим игроком. или мб одна часть занята одним игроком, другая часть другим. я уже реализовал эту идею.
Загруженные файлы
24
Steal nerves, как по мне, в таком случае проще проверять по ячейкам из которых собирается регион, чем возиться с ректами и их разбиением.
27
второе условие - то что покупаемый участок должен контачится с территорией вашей деревни. Иначе смысл пропадет, тогда придеться ему строить вторую деревню.
prog, а как это сделать
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.