WIN32API FrameWork/한단계씩 직접 구현

10. Vector2를 활용하여 캐릭터를 원하는 위치에 표시하기

hyrule 2022. 5. 17. 15:35

https://hyrule.tistory.com/111 

 

*** 공부 방법 ***

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

hyrule.tistory.com

 

 


<사전 지식>

WIN32API의 좌표계는 우리가 일반적으로 사용하는 데카르트 좌표계와 다르다.

x축은 그대로이지만, y축은 정반대이다.


//기존 클래스에 내용 추가
class CGameObject

GameObject 클래스를 상속받는 모든 클래스는 앞으로 위치를 저장한다.
캐릭터를 원하는 위치에 원하는 모습으로 렌더링하기 위해서는 변수가 3가지 필요하다.

  1. 오브젝트의 위치를 나타내는 m_Pos
  2. 오브젝트의 크기 m_Size
  3. 오브젝트의 중심점을 잡을 수 있게 해주는 m_Pivot

 

class CGameObject
class CCharacter: public CGameObject
class CPlayer: public CCharacter

이 세 클래스의 Update()와 Render()메소드의 변경이 필요하다.
Update() 메소드에는 DeltaTime 인자를 전달하고,
Render() 메소드에는 HDC와 DeltaTime 인자를 전달해주어야
프레임에 관여받지 않는 렌더링이 가능하다.

 

 


<해보기>

Vector2 변수를 활용하여
CPlayer 클래스를 100, 100 위치를 중심점으로 하는 지름 100짜리 원으로 화면 위에 띄워 보자.

 

 

 


GameFrameworkStepbyStep_10_RenderByVector2.zip
0.91MB