В Godot 4 слегка изменили логику, поэтому пробежимся быстро по верхам.
(версия для Godot 3.x)
Чтобы запустить луч - используем метод PhysicsDirectSpaceState2D.intersect_ray()
В нашем случае пускаем луч из глобальных позиций смаилика в точку курсора.
Результатом будет словарь из которого мы можем получить такие данные :
- position: Vector2 # точка касания
normal: Vector2 # нормаль касания
collider: Object # Обьект с которым столкнулись или null
collider_id: ObjectID
rid: RID # RID
shape: int # индекс шеипа
Например result.collider.name вернет нам имя ноды с которой столкнулся луч.
Для того чтобы избежать коллизии с самим собой ( в случае если вы пускаете луч с физического объекта) , то в аргументе будет достаточно добавить exclude =[self].
На этом всё.
Ставьте лайк, подписывайтесь на канал, вступайте в группу в ВК, и не забывайте что у нас есть дискорд сервер.
Удачи в изучении годо !