void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.tag == this.gameObject.tag)
{
this.gameObject.GetComponent<BoxCollider2D>().enabled = false;
}
else
{
this.gameObject.GetComponent<BoxCollider2D>().enabled = true;
}
}
코드입니다
tag값이 같으면 충돌을 안하고
tag값이 다르면 충돌을 하게 하고싶은데
태그값이 다르건 같건 꾸준히 충돌을 안합니다 ㅠㅠㅠ
도와주세요ㅠㅠ
void OnTriggerEnter2D함수가 작동을 하지 않나 싶어서 저기에 destroy(this.gameObject)를 넣고 실험해봤더니 잘 작동합니다 ㅠㅠ
전체코드는 모르지만, 유니티의 생명주기상 OnTriggerEnter2D함수가 호출되어 객체 특성을 바꾼 시점이랑, 실제 충돌을 인지해서 처리하는 시점이 달라 문제가 생길수 있어... 테스트 해보려면, 처음 값을 false/true 바꿔가면서 동작을 체크하고, 초기값이 설정될땐 잘동작하지만, 함수를 통해서 설정하면 동작을 잘안하면, 충돌처리함수-설정함수의 호출 순서가 잘못된거야. 그러면 유니티 사이트가서 생명주기 참조하고, 출돌처리함수 호출 순서 보면서 미리 설정함수 호출되게 설정하면될거야
this.gameObject.GetComponent<BoxCollider2D>().enabled = false; 이 코드가 작동을 하지 않는거 같은데 어떻게 해야할까요..
this.gameObject.transform.GetComponent<BoxCollider2D>().enabled = true; 이코드는 동작하는거 같네요 근데 트리거가 계속 체크되어 있어서 충돌처리를 안하는건가 싶네유..
되요->돼요 (되어 = 돼임) [리듬 맞춤법 봇♬]