Показать сообщение отдельно
Старый 29.02.2016, 07:54   #2299
Владимир
AnyKey`щик
 
Регистрация: 19.02.2016
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопросы от новичка

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

Сообщение от Nex Посмотреть сообщение
2. Можно использовать Physics2D.OverlapPointAll для получения массива рядом находящихся объектов.
Спасибо за совет, мануал почитал, но не совсем понял как она работает, чуть позже ее попробую, чтобы разобраться с ее работой.

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

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

Последний раз редактировалось Владимир, 29.02.2016 в 10:15.
(Offline)
 
Ответить с цитированием