Detecting area2d colliding object

Godot Version



Hello, I’m totally new to godot, I was trying to make coins but as I collide with them, they do me damage like any other entities, so I wanted to filter the colliding element, but I can’t recover the name of the entity that touched me (either monster or coin) I’ll let you look at the images of my attempt which I hope you will understand. THANKS (Srry for my english)

(Below is what print( returns)

(My character is an area2d, monsters are rigidbody2d and my coins are staticbody2d)
(For detecting collision I use _on_body_entered(body))

You can simply put all monsters in the group “monsters” (Inspector > Node > Groups) and coins to “coins”. Then you would improve the collision detection a bit:

func _on_body_entered(body):
    if body.is_in_group("monsters"):
        # player was damaged
    elif body.is_in_group("coins"):
        # collect the coin
1 Like

Thank you very much you solved my problem and learned a great feature
Have a good day

1 Like