게임심화 - 7. Script - Debug, RequireComp

LSDrug·2024년 7월 1일

1. 인스턴스화 : Instantiate

하나의 리소스를 파일화 하는 것 = Prefab

Prefab을 하나의 객체화 하는 것 : 인스턴스화
-> 그것을 위해 사용하는 것 = Instantiate

2. RequireComponent

클래스 위에서 특정 컴포넌트를 종속적으로 자동 추가하는 것.

  • rb(Rigidbody)를 GetComponent로 가지고 올 때마다 if문으로 체크를 해주어야 하는 것을 RequireComponent를 사용해 미연에 방지한다.

  • 스크립트 내에서 관여가 되기 때문에 지울 수 없게 된다.

3. Input

  • 입력받은 것을 사용할 수 있다.
  • 키보드 화살표, 마우스 클릭을 사용할 수 있다.
  • Input GetAxis를 이용해 사용할 수 있다.
  • Input Manager를 이용해서 수정 및 새로운 추가할 수 있다. 쉽게 말해서 키를 바꿀 수 있다.

4. Debug

다음 3가지로 구분이 된다.

  • log
  • warning
  • Error

코드로 나타내면 다음과 같다.

Debug.Log("This is a log message."); // info
Debug.LogWarning("This is a warning message!"); // waring
Debug.LogError("This is an error message!"); // Error

이에 콘솔창을 보면 각각 다른 표시가 나타난다.

  • 디버그시, Error Pause를 끄면 안된다. 게임은 돌아갈 수 있으나 어딘가에서 이상하게 돌아갈 수 있기 때문이다.
  • Error가 발생하면 그때그때 바로 고쳐서 재출력할 수 있도록 하자.
Debug.LogWarning("I come in peace!", this.gameObject);

해당 코드에서 this부분을 추가하는 것으로 오류가 나는 오브젝트의 위치를 알 수 있다. (= 하이라이팅)

또한 DrawLine을 통해서 해당 오브젝트에 색을 가진 선을 그리는 것이 가능하다.

이미지의 붉은 밑줄을 보면 마젠타 색의 선을 오브젝트 위쪽으로 4초간 보여주는 디버깅을 하는 것이다.


profile
마약같은 코딩, 마약같은 코딩러

0개의 댓글