C# 함수 Bool

728x90

True / False로만 결과값을 갖는 bool 형식을 사용하여 스크립트를 작성했다.

기울어진 바닥에 공을 떨어트렸을 때 매 프레임마다 공이 이동한 거리를 측정하여 if 조건문으로 다음과 같이 표현했다. 하지만 이런 경우, 프레임마다 Debug.Log()가 찍히기 때문에 너무 많다.

따라서 이동거리가 "20을 넘었을 때" 또는 "30을 넘었을 때"

Debug.Log()값을 딱 한 번 찍게 만들기 위해 bool 형식을 사용했다.

 

먼저 bool타입으로 shouldPrintOver20과 shouldPrintOver30 멤버변수를 선언해주었다.

그리고 if(distance>30)을 만족했을 때 하위 if(shouldPrintOver30) 조건문을 한번 더 선언해 주었다.

즉, 30을 넘겼을 때 먼저 Debug.Log("Over 30 : " + distance); 값이 한 번 찍히고,

그 다음부터는 shouldPrintOver30에 false 선언해주어 '30 이상'을 만족하는 로그가 프레임마다 찍히는 것을 차단했다.

그 결과, 다음과 같이 조건을 만족하는 로그 값이 한번만 찍히는 결과를 호출했다.

728x90

'게임 프로그래밍 > C#' 카테고리의 다른 글

C# 유니티 함수 GetComponent  (0) 2021.08.06
C# 유니티 transform.position = new Vector3  (0) 2021.08.06
C# 유니티 Transform Position  (0) 2021.08.06
C# Switch statements Switch문  (0) 2021.08.04
C# 열거형 Enumerations  (0) 2021.08.04