Как реализовать алгоритм заливки в Unity?

116
24 февраля 2022, 06:40

У меня есть заготовка игры.

Игрок(G), во время движения(красная стрелка), менял белые объекты(А) на зелёные (Еr).
Как заполнить внутреннюю площадь(или заменить белые объекты(A) на зеленые(Er))?

Я читал про flood fill, но не разобрался, как его использовать.

Я так понимаю:

  1. Создать очередь из объектов по которым прошел(в моем случае (А))
  2. Для каждого объекта в очереди
  3. Проверить объект находящийся на запад от него(если ты двигался по оси -X ) по пути игрока и точно так же проверить объекты на восток(если ты двигался по оси X).
  4. Если объект(А) изменить на (Er) и добавить в очередь и перейти к пункту 2. И или если объект (Er)то перейти к пункту 2.

Я правильно думаю? Может как то можно легче сделать? Подскажите как правильно.

READ ALSO
Почему возникает NullReferenceException? [дубликат]

Почему возникает NullReferenceException? [дубликат]

Выполняю одно из заданий курса по С#, которое звучит так:

93
групировка по нескольким столбцам c#

групировка по нескольким столбцам c#

Надо программно сделать аналог метода group by по нескольким полям на язык с #, но проблема в том, что эти поля заранее не определены, и в зависимости...

97
Ошибка	CS7036 помогите пофиксить [закрыт]

Ошибка CS7036 помогите пофиксить [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

147