https://godotengine.org/qa/13949/make-something-happen-when-body-collides-with-specific-body
์๊ธฐ์๋๊ฑธ ๋ณด๊ณ ํด๊ฒฐ
func _on_plate_body_exited(body):
์ฌ๊ธฐ์ body๊ฐ ์ธ์๋ผ๋๊ฑธ ์๊ฐ์ ๋ชปํ๋ค
if(body.get_name() == "ํน์ ๋
ธ๋"):
์ด๋ ๊ฒ ํ๋๊น ์์๋ ธ๋ ์๋์ฌ๋ ์ฒดํฌํ ์์๋๊ฑฐ๊ฐ์
๋์ค์ plate๋ฅผ ์ธ์คํด์ค๋ก ๋ง ๋ฝ์์ค๋๋
์ปค๋ฅํธ๋ฅผ ์จ์ผ๊ฒ ์
์กฐ๊ฑดํ์์ฃผ์ฒด.connect(์กฐ๊ฑด,๋์,๋์๋ดํจ์)
์ด๋ฐ ๊ตฌ์กฐ์ธ๊ฑฐ๊ฐ์๋ฐ
์กฐ๊ฑด ๋ถ๋ถ์ ๋ค์ด๊ฐ ์๊ทธ๋์ด ์กฐ๊ฑดํ์์ฃผ์ฒด ๋ ธ๋ ๋ด์์ ์ง์ํ์ง ์์ผ๋ฉด ๋ชป์ฐ๋๊ฑฐ๊ฐ๊ณ
๊ฐ์ ์ด๋ฆ๋ผ๋ฆฌ๋ ๋ชป๊ฒน์ณ์ง๋๊ฑฐ ๊ฐ์ผ๋๊น ์ธ์คํด์ค๋ก ๋ง๋ ์ ๋ค ์ด๋ป๊ฒ ์จ์ค์ง ๋ชจ๋ฅด๊ฒ ๋ค
๋ฒฝ์ ๋งค๋ฌ๋ฆฐ์ฑ๋ก ์ ํ๋ ํด์ผ๋๋๊น
์ค๋ ฅ ์ค์งํ๋ ์กฐ๊ฑด๋ถ์ ๋ํ์๋๋ง๊ณ ์ ํํ๊ณ ์ฟจํ์ ๋ฃ์ด์ค์ผ๊ฒ๋ค ํ์ด๋จธ๊ฐ์๊ฑฐ๋ก
ํ์ดํ !
๋ค๋ฅธ ๊ธ์ ์จ๋จ๋๋ฐ, new_wall.add_to_group("Wall") ์ด๋ ๊ฒ ๊ทธ๋ฃน์ ๋ฃ์ด๋์ผ๋ฉด, ๋ค๋ฅธ area2d์ on_body_entered() ์์ if body.is_in_group ๋ก ์ฒดํฌํ ์ ์์. ๋ง์ฝ WallSpawner ๋ ธ๋๊ฐ ์๋ค๋ฉด ๊ทธ๊ฑธ๋ก ๋ฐฑ๊ฐ๋ ์ฒ๊ฐ๋ ๋ง๋ค ๋๋ง๋ค Wall ๊ทธ๋ฃน์ ๋ฃ๋๊ฑธ๋ก ํ์ฉ๊ฐ๋ฅ
์ธ์คํด์ค๋ค์ ๊ทธ๋ฃน์ ๋ฃ์ด์ ์ฒดํฌํ๋ฉด ๋๊ฒ๋ค์ฉ ํธ์ฐ!
์ ๊ทธ๋ผ ์บ๋ฆญํฐ๋ kinematic๋ง๊ณ area2d๋ก ๋ง๋๋๊ฒ ๋ซ๋ญ ์๋๋ฉด ์์๋ ธ๋์ body์ฌ๋ฌ๊ฐ๋ฅผ ๋ฃ์ด๋์ผ๋ฉด ๋๋๊ฑด๊ฐ
์ด๋ฆ ๋ชป๊ฒน์น๋๊ฒ ์๋๋ผ, ๊ฐ์ ์ด๋ฆ์ผ๋ก๋ ๊ณ์ ์ธ์คํด์ค ์ํฌ ์ ์๊ธด ํ๋ฐ, Bullet ์ด๋ฆ ๊ฐ์ง ์ธ์คํด์ค๊ฐ 2๊ฐ ์์ผ๋ฉด @Bullet1, @Bullet2 ... @Bullet38 ์ด๋ฐ ์์ผ๋ก ๋ง๋ค์ด์ ธ์ ๊ฑฐ์ ์ถ์ ๋ถ๊ฐ