본문 바로가기

Programming/Mgr

상태패턴을 활용한 Game Scene 변경 매니져 - 2 상태패턴 씬 매니져cSceneMgr.h #pragma once #include "cScene.h" #include "cGame.h" #include "cIntro.h" #include "cMenu.h" // 씬을 다 인클루드 본래는 헤더파일에서 이렇게 참조해대면 안좋습니다. 웬만하면 cpp에서 참조하도록 짤것 enum Scene_State // 씬상태를 표시할 enum { INTRO, MENU, GAME }; class cScene_Mgr { private: cScene_Mgr(void); staticcScene_Mgr*m_cScene_Mgr_Inst; //씬매니져 싱글톤을 위한 클래스 포인터 변수 CScene*m_pcScene; Scene_Statem_RsvScene;// 변경될 씬 예약 Rsv = R.. 더보기
상태패턴을 활용한 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 함수 사.. 더보기
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(.. 더보기