플레이어 한테도 충돌 코드를 입힘
float health = 100.0f;
void TakeDamage(int value){
health -= value;
if(health <=0){
Die();
}
}
void Die(){
Destroy(this.gameObject);
}
public void OnCollisionEnter2D(Collision2D coll){
TakeDamage(10);
Destroy(coll.gameObject);
}
그러나 이렇게 코드를 작성하고 총알을 발사하면 플레이어가 죽음
이는 Player가 적 오브젝트와만 충돌하는 것이 아닌 총알과도 충돌하기 때문에 일어나는 문제이다.
인스펙터 창을 보면, 태그가 존재



Enemy 오브젝트에도 Enemy 태그를 부착
어떤 게임 오브젝트에서 태그를 참조해야 할 때에는 CompareTag() 메서드를 사용
public void OnCollisionEnter2D(Collision2D coll){
if(coll.gameObject.CompareTag("Enemy")){
TakeDamage(10);
Destroy(coll.gameObject);
}
}
총알이 부채꼴로 3갈래가 나가는데 총알끼리 충돌하는문제가 발생

빈 User Layer에 Bullet 입력
Bullet Layer에 연결

Bullet과 Bullet끼리 만나는 곳 체크 해제