Сообщение от Nex
1. Можно создать список для проверяемых объектов. При событии OnCollisionEnter2D добавлять в этот список объект с которым столкнулись. При событии OnCollisionExit2D удалять объект с которым было столкновение из списка. И где нибудь в Update обрабатывать этот список с объектами.
Но тут возможно может получится так, что объект может записаться в список столкновений и тут же удалится, а функция обработки запустится после всего этого. Но можно вызывать функцию обработки прям из события OnCollisionEnter2D.
|
Про реализацию через массивы думал, но решил пробовать реализацию которую привел выше, поскольку она проще, но к сожалению она не работает

Про то, что коллизия может быть очень скоротечной, то так скорей всего и будет, но в этом случае я просто сделаю проверку перед основной обработкой коллизии и при необходимости корректировку массива, по ресурсам будет не затратно поскольку буду делать это где-то раз в секунду.
Сообщение от Nex
|
Спасибо за совет, мануал почитал, но не совсем понял как она работает, чуть позже ее попробую, чтобы разобраться с ее работой.
Сообщение от Жека
1. Полагаю, что при нескольких столкновениях ты получишь несколько вызовов этих функций, в каждой из которых информация об одном объекте столкновения.
2. Collision2D.contacts - это точки столкновения, т.е. части одного объекта, с которым столкнулись.
|
Собственно это и пронаблюдал.
Сообщение от Жека
Зачем тебе количество? Спрашиваю потому, что возможно это и не требуется, и можно сделать иначе.
|
Моя цель выбрать из всех объектов с которыми я столкнулся один, с минимальным значением одной из переменных экземпляра объекта, например с минимальным значением переменной hp и его уже атаковать. Если есть идеи как сделать это не через массив буду рад выслушать
