Есть ошибка, но из того, что вы написали, я не уверен, что вы все настроили правильно, поэтому давайте начнем с самого начала.
Ваша древовидная структура должна выглядеть так: Большой внешний синий квадрат - моя Area2D
CollisionShape2D
форма, в то время как маленький внутренний синий квадрат - моя RigidBody2D
CollisionShape2D
форма.
Ваш Area2D должен иметьСигнал настроен правильно (т.е. подключен к сценарию где-то в дереве вашей сцены).Для этого примера я решил поместить свой сценарий на RigidBody2D
, и мой сигнал был пойман здесь. Как вы можете видеть, я решил поймать любое тело, входящее в мою область.
Теперь, если вы посмотрите на мой код, здесь есть ошибка: вы должны игнорировать свой *Родитель 1018 * RigidBody2D
сам, в противном случае он будет продолжать обнаруживать столкновение со своим собственным родителем.
Конечно, лучший способ сделать это - использовать слоев столкновенияи маскирует и не проверяет каждый раз, происходит ли столкновение с родителем или нет.