hyrule 2022. 5. 16. 18:00

https://hyrule.tistory.com/111 

 

*** 공부 방법 ***

1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처

hyrule.tistory.com

 

 


Vector2.h

헤더를 새로 생성하고, math.h를 포함시킨다.

 

struct Vector2

벡터값을 계산할 구조체인 Vector2를 만든다.
이 구조체는 float 타입 x, y 변수(좌표)를 들고 있다.

생성자는 3가지로 오버로딩한다.

  1. 아무 인자를 넣지 않으면 0,0으로 초기화
  2. float 타입 2개를 받아 각각 x, y를 초기화
  3. 같은 Vector2 타입을 받아 똑같이 초기화(복사 생성자)

 

연산자 재정의도 해준다.(할거 많음)

  1. 대입연산자
    1. 같은 Vector2 구조체를 받아 대입
    2. float 변수 하나를 받아 x, y 둘다 변수의 값으로 대입
  2. 비교 연산자
  3. 사칙연산과 할당 연산자(+=, -= 등등)
    • Vector2, float, int 등 어떤 자료형이 들어와도 더해지도록
    • 빌드할 때 경고창이 뜨지 않도록 형변환을 잘 해주자

math.h에서 제공하는 삼각함수 관련 메소드들은 radian 값으로만 받으므로,
코딩 편의를 위해 다음 내용도 추가해준다.
* 힌트 - 180 degree = PI radian라는 점을 이용해서 변환 공식을 만들자

  • Vector2 헤더에 PI값을 상수로 선언 - 소숫점 6자리까지
  • GameInfo.h에서 아래의 함수를 선언하고, GameInfo.cpp를 만들어 정의 
    • 인자로 받은 Radian -> Degree 변환 전역함수
    • 인자로 받은 Degree -> Radian 변환 전역함수

 

Vector2 헤더 작업이 완료되었으면 GameInfo 헤더에 포함시켜 주자.

 


GameFrameworkStepbyStep_09_Vector2.zip
0.85MB