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

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

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

Сообщение Leminc 06 дек 2018, 09:50

Делаю 2D игру с созданием объектов по клику.
Для того, чтобы создаваемые объекты сильно не соприкасались друг с другом нужно определить зону клика.

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

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

Делал даже через OnTriggerStay2D, ничего не выходит, но как только отжимаю паузу, проверка на пересечения срабатывает.
Что можете подсказать по этому поводу? Либо есть метод более красивый, чем мой. С радостью бы выслушал идеи. Но и свой метод хотелось бы реализовать, может в будущем пригодится.
Аватара пользователя
Leminc
UNец
 
Сообщения: 2
Зарегистрирован: 06 дек 2018, 09:12

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

Сообщение 1max1 06 дек 2018, 10:52

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

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

Сообщение Xtir 06 дек 2018, 11:39

А зачем Вам пауза? Можно просто остановить скриптом какие-то действия вместо этого.
Xtir
UNIверсал
 
Сообщения: 498
Зарегистрирован: 21 окт 2016, 00:37


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 20