2d로 배우고 있다가 중간에 스위치 누르면 문열리는거 구현하고 싶어서
처음에 play스크립트에
player 스크립트
if (collision.gameObject.tag == "Trigger"){
{
door_open door = collision.transform.GetComponent<door_open>();
door.OpenTrigger();
Debug.Log("1");
}
}
door스크립트
public void OpenTrigger()
{
animator.SetBool("isOpen", true);
gameObject.layer = 0;
}
이렇게 해서 트리거 충돌하면 문이 열려라 하는걸로했는데
NullReferenceException: Object reference not set to an instance of an object
player_move.OnTriggerEnter2D (UnityEngine.Collider2D collision) (at Assets/script/player_move.cs:166)
계속 이게뜨더라고
지금 캐릭터 문 이렇게만 스크립트 있는데 스위치같은거에도 스크립트 따로 만들어서 거기서 문으로 옮겨주면되는거임??
생각대로해보면 캐릭터가 트리거태그에 부딪치니깐 door로가서 OpenTrigger()메소드 실행되서 문이열리고 레이아웃바꿔서
플레이어랑 충돌처리되면 다음 스테이지로가는건데
내가잘못생각한건가 잘모르겠음;;
door랑 animator가 null인지 확인을 해 멍청아
animator는 처음에 awake에서 초기화해줬음 door도 player에서 초기화해줬고