반응형

 

 

 

 

 

 

 

 

제작 기간

- 총 15일

 

 

 

게임 클래스 구성

 

 

 

 

GameManager

- 싱글톤 클래스이다. (wWinMain 함수에서 반복문을 구성해 해당 클래스의 Update함수를 호출한다.)

- 클래스 멤버는 MainScene, GameScene을 가지고 있고, 화면을 그리기 위한 HDC, HWND를 멤버로 가지고 있다.

- Update 함수에서 메인화면, 게임화면의 로직을 호출한다.

 

 

 

BitmapManager

- 싱글톤 클래스이다.

- Bitmap배열의 vector를 멤버로 가지고 있다.

- 게임 리소스를 로드해서 저장하고 관리한다.

 

 

 

MainScene

- 메인화면을 관리하는 클래스이다.

- 각 메뉴 및 애니메이션(별 전광판)을 표현하기 위한 Bitmap 포인터(배열)와 좌표 구조체를 멤버로 가지고있다.

- 메뉴를 선택할 수 있고, deltaTime을 적용해 타이틀에서 별 전광판 애니메이션을 재생한다.

 

 

 

GameScene

- 게임화면을 관리하는 클래스이다.

- 상단 UI(GameUI), 배경(Background), 장애물(Ring, Lamp, Rostrum)을 관리하는 클래스를 멤버로 가지고 있다.

- Player의 상태를 구분(Play, Die, Clear)해서 다른 처리를 하도록 한다.

- deltaTime을 이용하여 일정 시간마다 점수, 장애물 세팅을 한다.

 

 

 

Bitmap

- 그래픽 리소스의 크기를 멤버로 가지고있다.

- backDC, 좌표를 오버로딩하여 그리는 함수들이 정의되어있다.

 

 

 

Player

- 키 입력을 받아서 캐릭터의 좌표를 이동시킨 뒤, 애니메이션을 그린다.

- 각 종 장애물의 Collider hit 판정을 위한 Rect 반환 함수를 가지고 있다.

 

 

 

Ring(BigRing, SmallRing), Lamp, Cash, Rostrum

- Ring의 경우 BigRing, SmallRing에 상속을 한 뒤, GameScene에서 업캐스팅으로 사용한다.

- Player에서 Collider rect를 받아와 매 프레임 Hit 체크를 해서 Player의 상태를 변경한다.

- deltaTime을 이용해 애니메이션을 재생한다.

 

 

 

Background

- 배경을 스크롤링한다.

- 게임 클리어시 배경 애니메이션을 재생한다.

 

 

 

기타

- 더블 버퍼링을 적용하여 화면 깜빡임을 제거했다.

 

 

 

 

 

반응형

'Game > Personal development' 카테고리의 다른 글

[Unity] 미로 게임 제작  (0) 2022.04.28
[Unity] 모바일 전략 시뮬레이션  (0) 2022.04.16
[WIN API] 카드 맞추기 게임  (0) 2022.01.30
산성비 게임 제작 (C++)  (0) 2022.01.23
RPG 게임 제작 (C++)  (0) 2022.01.22

+ Recent posts