https://hyrule.tistory.com/111
*** 공부 방법 ***
1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처
hyrule.tistory.com
<사전 지식>
WIN32API의 좌표계는 우리가 일반적으로 사용하는 데카르트 좌표계와 다르다.
x축은 그대로이지만, y축은 정반대이다.
//기존 클래스에 내용 추가
class CGameObject
GameObject 클래스를 상속받는 모든 클래스는 앞으로 위치를 저장한다.
캐릭터를 원하는 위치에 원하는 모습으로 렌더링하기 위해서는 변수가 3가지 필요하다.
- 오브젝트의 위치를 나타내는 m_Pos
- 오브젝트의 크기 m_Size
- 오브젝트의 중심점을 잡을 수 있게 해주는 m_Pivot
class CGameObject
class CCharacter: public CGameObject
class CPlayer: public CCharacter
이 세 클래스의 Update()와 Render()메소드의 변경이 필요하다.
Update() 메소드에는 DeltaTime 인자를 전달하고,
Render() 메소드에는 HDC와 DeltaTime 인자를 전달해주어야
프레임에 관여받지 않는 렌더링이 가능하다.
<해보기>
Vector2 변수를 활용하여
CPlayer 클래스를 100, 100 위치를 중심점으로 하는 지름 100짜리 원으로 화면 위에 띄워 보자.
'WIN32API FrameWork > 한단계씩 직접 구현' 카테고리의 다른 글
12. 삼각함수를 통해 Player에 총을 달아주고 회전/이동시키기 (0) | 2022.05.17 |
---|---|
11. Player에게 총을 달아주고 입력을 받아 회전시키기 (0) | 2022.05.17 |
09. Vector2 구조체 (0) | 2022.05.16 |
08. GameObject 상속 구조 짜기 (0) | 2022.05.16 |
07. DeltaTime (0) | 2022.05.16 |