RigidBody2D에서 총알(Bullet)을 발사하여 벽(Block)에 충돌하였을 경우, 충돌한 객체의 정보를 얻어내기 위해서는 func _ready() 안에 다음 code를 추가한다.
func _ready():
set_contact_monitor(true)
set_max_contacts_reported(5) # 0보다 큰 정수를 지정해주면 된다.
그다음 편집기에서 signals에서 함수를 연결하면 되지만, 직접 Gdscript에서 code를 추가하여보자. 그렇기 위해선 _ready() 함수 루틴에 다음과 같이 signal을 연결하는 code를 추가한다.
func _ready():
set_contact_monitor(true)
set_max_contacts_reported(5)
connect("body_entered", self, "collision_detected")
그리고 collision_detected() 함수를 작성한다.
func collision_detected(obj):
print(self.get_name(), " is colliding with ", obj.get_name())
더 자세한 정보를 얻고 싶을때는 get_colliding_bodies()를 이용하면 된다.
<참고>
https://www.reddit.com/r/godot/comments/3ofhwj/how_can_i_use_body_enter_function/