프로젝트 시작

CJB_ny·2022년 10월 17일
0

JumpKing

목록 보기
1/8
post-thumbnail

설명

해당 게임은 C++ win32API로 진행중이며

유튜브의 어O트락 win32API강의를 들었다면 프레임 워크를 이해하는 데에는 도움이 많이 될 것입니다.

혹시 안 들으셨다면은

https://www.youtube.com/playlist?list=PL4SIC1d_ab-ZLg4TvAO5R4nqlJTyJXsPK

다 듣고 오는 것을 추천 드립니다.

현재 프로젝트 블로그 글은 제가 남에게 알려주기 위한 것도 일부분 있지만

제가 햇갈린 부분들과 정리를 한부분이 섞여 있습니다.

전체코드와 리소스 파일은

https://github.com/starkshn/JumpKing

제 깃허브에 있습니다.

FrameWork

현재 프로젝트의 필요한 클래스들과 구조입니다.

08_Factory는 삭제 하셔도 됩니다.

싱글톤 ❗

#define SINGLE(type) public: static type* GetInstance() { static type mrg; return &mrg; } private: type(); ~type();

SINGLE(C);

C::GetInstance()->TestFunc();

이런식으로 호출 할 수 있는데,

정적 변수 => '데이터 영역'사용

static 이 붙은 함수는 static이 붙은 멤버 변수만을 사용할 수 있다.

객체를 여러개를 만들 때를 생각해볼 수 있고,
static이 붙은 함수는 객체 없이 호출이 가능한데 == this키워드가 없다는 말인데 멤버함수를 어떻게 지칭 할 것인가?

그러면 객체없이 호출이 가능한 정적 멤버함수를 만들고

정적멤버함수 안에 정적 변수를 넣어두면은

정적멤버함수를 통해서만 해당 정적 변수가 접근이 가능해진다.

근데 생성자는 다 private으로 막고 정적변수를 객체로 만들어서 반환을 하면은

이게 싱글톤이다.

배경화면 렌더링

일단 뭔가 있어 보이게 할려고 배경화면 부터 렌더링 해보았습니다.

그냥 강의에서했던 것과 같이 BitBlt 함수를 통하여 해상도에 맞게 그려주시면 됩니다.

Scene의 Render가 호출 되는 시점이

CameraManager 다음으로 잡았습니다. 순서는 딱히 상관은 없습니다.

씬 작업

기존의 ToolScene부분은 삭제했습니다.

타일 UI들을 클릭하여 타일이 변경이 되고 타일저장기능 까지 만들어 봤었었는데

점프킹 맵 구조에 따라 이부분을 활용하면 될거같습니다.

profile
https://cjbworld.tistory.com/ <- 이사중

0개의 댓글