Я использую функцию OnTriggerStay2D()
, которая что-то делает, когда объект внутри коллайдера (не имеет значения, что). Однако иногда у меня есть другой, так что в общей сложности есть 2 коллайдера, которые могут оставаться внутри этого коллайдера. Два коллайдера не на одном Game Object
. Пытаюсь так:Unity - OnTriggerStay2D() для двух коллайдеров одновременно
void OnTriggerStay2D(Collider2D other)
{
if (other.gameObject.CompareTag("Obj1"))
{
//do something
}
if (other.gameObject.CompareTag("Obj2"))
{
//do something else
}
}
но сделать что-то еще просто никогда не происходит, когда Obj1
уже внутри. Как сделать коллайдер сразу двумя коллайдерами за OnTriggerStay2D()
?
EDIT ПРОЯСНИТЬ:
OnTriggerStay2D()
еще не вызывается. Проблема в том, что код никогда не попадает в оператор if
, где я должен делать что-то еще комментарий.
Вы говорите, что 'OnTriggerStay2D' никогда не вызывается снова, если объект уже сталкивается? Если это неверно, отредактируйте свой вопрос и объясните его больше. – Programmer
Нет, я сказал точно, что _do чего-то другого не происходит. Это означает, что код никогда не «попадает» в это '' 'заявление. – agiro
@ Редактор программы, извините, что запутался. – agiro