유니티/기초

유니티 입문 - 기본 문법(3) 매서드 연습하기

무직백수취업준비생 2021. 6. 7. 04:41
728x90
반응형

두 점 사이의 거리를 계산하는 메서드를 만들어보겠습니다.

 

(x1, y1)과 (x2, y2) 이 두 점 사이의 거리인 distance를 구하는 방법을 알아보겠습니다.

 

평면상에서 두 점 사이의 거리를 구하는데는 피타고라스 정의가 이용됩니다.

 

이 두 점을 꼭짓점으로 하는 직각삼각형에서 변의 길이들은 다음과 같습니다.

 

  • 밑변 : width = x2 - x1
  • 높이 : height = y2 - y1
  • 빗변(거리) : distance = √(width^2 + height^2) = √((x2 - x1)^2 + (y2 - y1)^2))

 

 

여기서 삼각형의 빗변이 두 점 사이의 거리가 되니, 이를 코드로 작성해보겠습니다.

 

 

float distance = width * width + height * height;

 

여기선 일단 distance에 밑변의 제곱과 높이의 제곱을 더한 값을 저장했습니다. 아직 제곱근을 구하지 않았습니다.

 

제곱근을 구하기 위해선 Mathf에서 제공하는 Sqrt() 메서드를 이용합니다.

 

이후 GetDistance() 메서드 내부에서 계산된 값을 return으로 전달합니다.

 

 

프로그램 작성 시 같은 이름의 변수를 두 개 이상 선언하면 에러가 발생합니다.

 

그러나 위 코드에서 distance라는 변수를 두번 선언했지만 에러가 발생하지 않습니다.

 

이는 변수 distance가 서로 다른 중괄호 안에 선언되어 있기 때문입니다.

 

메서드 내부에서 선언한 변수는 해당 메서드 내부에서만 유효하며, 이러한 유효 범위를 스코프라고 합니다.

 

 

실행 결과 원하는대로 두 점 사이의 거리가 Console에 출력됩니다.

728x90
반응형