Страница 1 из 1

Проверка зоны клика

СообщениеДобавлено: 06 дек 2018, 09:50
Leminc
Делаю 2D игру с созданием объектов по клику.
Для того, чтобы создаваемые объекты сильно не соприкасались друг с другом нужно определить зону клика.

В голову пришёл следующий метод проверки зоны клика:
- При клике создаётся пустой объект с коллайдером повторяющим форму создаваемого объекта, и если этот коллайдер пересекётся с каким либо другим коллайдером, то действие на создание объекта не произойдёт.

Проблема как раз в том, что не могу определить пересечение коллайдеров. Точнее, пересечение определяется, когда игра уже запущена.
P.S. Изначально игра на паузе, нужно создать объекты и запустить её. Пауза на timeScale = 0f.

Делал даже через OnTriggerStay2D, ничего не выходит, но как только отжимаю паузу, проверка на пересечения срабатывает.
Что можете подсказать по этому поводу? Либо есть метод более красивый, чем мой. С радостью бы выслушал идеи. Но и свой метод хотелось бы реализовать, может в будущем пригодится.

Re: Проверка зоны клика

СообщениеДобавлено: 06 дек 2018, 10:52
1max1
Если форма объекта не сложная можно кидать рейкасты.
В теле while (true) меняешь рандомно позиции (или как там тебе надо) и делаешь проверку, если проверка пройдена, добавил, не пройдена - сменил позицию проверяешь дальше, если кол-во объектов достигло допустимого кол-ва - ломаешь цикл, но тут есть момент, что цикл может стать бесконечным, это тоже учитывай. Ну и создавать объект каждый раз не нужно, один раз создал и просто меняешь ему коллайдеры.

Re: Проверка зоны клика

СообщениеДобавлено: 06 дек 2018, 11:39
Xtir
А зачем Вам пауза? Можно просто остановить скриптом какие-то действия вместо этого.