본문 바로가기

상태패턴을 활용한 Game Scene 변경 매니져 게임 씬별로 나누는 것을 상태패턴으로 간단히 설명하자면 부모씬 cScene -> 자식1 cIntro -> 자식2 cMenu -> 자식3 cGame 이런식으로 부모를 상속받은 자식들을 만들어줍니다. 이렇게 하는 이유는 부모의 *는 자식의 *를 받을 수 있기 때문입니다. 좀 더 자세히 설명하자면 cScene* m_pScene = new cIntro; 이러한 것이 되는겁니다. 그럼 이러한 것을 활용한 매니져 소스코드를 공개하겠습니다. 부모가 될 클래스 cScene cScene.h #pragma once class CScene { public: CScene(void); virtual ~CScene(void); // 가상소멸자 에 주의 virtual void Init(void) =0; // virtual 함수 사.. 더보기
DirectX Text 출력 클래스 다이렉트x로 텍스트를 출력하는게 귀찮아서 클래스로 만들어놓고 디버그용 텍스트출력 매니저로 사용했던 소스코드 입니다. cText.h 파일#pragma once class cText { private: staticcText*TextInst; ID3DXFont*m_pFont; intm_nMax_X; intm_nMax_Y; cText(void); public: ~cText(void); voidInit(void); void Print( LPCSTR cSTR, int nX/*문자열의 왼쪽좌표*/ = 0, int nY/*문자열의 윗쪽좌표*/ = 0, D3DXCOLOR ARGB = 0xFFFFFFFF ); staticcText*GetInst(void); voidFreeInst(void); }; // 사용법 //TCHA.. 더보기
Key 매니져 매니져는 여러 Class에서 공통적으로 쓰이며 어떠한 것을 관리해주는 클래스를 말한다 이러한 클래스를 쉽게 사용하기 위해 싱글톤 패턴을 활용하여 만든 후 #define 을 통해 사용한다. KeyMgr.h #pragma once const intKEYMAX=256; // 넉넉하게 255를 잡았지만 109키 키보드와 마우스 2버튼을 포함한 111로 잡아도 무관 class cKey { private: staticcKey*m_pInstance;// 클래스 포인터 boolm_bKeyDown[KEYMAX];// 키가 눌렸는지 체크할 배열 boolm_bKeyUp[KEYMAX];// 키가 떼졌는지 체크할 배열 private: cKey(void); public: ~cKey(void); staticcKey*GetInst(.. 더보기