앞서 공부하고 정리한 내용은 무료 배포된 유튜브 "얌얌코딩"님의 강의를 시청한 후임을 밝힙니다.LV06 Input (youtube.com) 얌얌코딩 (게임 개발)어려운 게임 개발을 쉽게 배우는 방법!www.youtube.com 컴포넌트 구조우리가 사실 그때그때 마다 기존의 클래스와 속성이 조금만 다르더라도 새 클래스를 추가하여 코드를 관리한다면, 코드 양 자체가 많아질 뿐더러 상당히 비효율적이게 된다.그래서 컴포넌트 구조를 통해 컴포넌트들을 만들어놓고, 새롭게 내가 추가해야 하는 객체가 담아야 하는 컴포넌트 속성들을 그때 그때 추가만 해주는 형식의 구현이 필요하다. 프로젝트에서의 Component 구조 적용 (c++)class Component : public Entity{public: Compon..
앞서 공부하고 정리한 내용은 무료 배포된 유튜브 "얌얌코딩"님의 강의를 시청한 후임을 밝힙니다.LV06 Input (youtube.com) 얌얌코딩 (게임 개발)어려운 게임 개발을 쉽게 배우는 방법!www.youtube.com사진 출처 : Double Buffering - 더블 버퍼링 기법 :: Move Fast (tistory.com) Double Buffering - 더블 버퍼링 기법더블 버퍼링(Double Buffering)은 이중 버퍼링이라 불리기도 하며, 그래픽 객체에 이미지를 그릴 때 사용되는 기법이다. Q) 왜 사용하는가 ? A) API를 시작하다보면 비트맵 이미지를 사용하게 된다. 그movefast.tistory.com실제로 우리가 캐릭터를 움직이거나 어떤 객체의 움직임을 화면에서 표현하고..
앞서 공부하고 정리한 내용은 무료 배포된 유튜브 "얌얌코딩"님의 강의를 시청한 후임을 밝힙니다.LV06 Input (youtube.com) 얌얌코딩 (게임 개발)어려운 게임 개발을 쉽게 배우는 방법!www.youtube.comDeltaTime 구해야 하는 이유만약 FPS가 100ms인 컴퓨터와 FPS가 50ms인 컴퓨터가 있다고 하자.당연히 FPS가 큰 컴퓨터일수록 성능이 좋아 cycle을 더 많이 돌릴 수 있다.지금의 내가 만든 update를 비롯한 함수들을 모두 cycle 기준으로 돌고 있다.따라서 키보드 키 바인딩을 통한 이동 함수들이 컴퓨터의 cpu 성능에 따라 동일하게 움직이지 않는다.이는 게임 내에서 매우 불리하게 작용할 수 있는 좋지 않은 요소이다.따라서 현실 시간 기준으로 움직일 수 있게 ..
앞서 공부하고 정리한 내용은 무료 배포된 유튜브 "얌얌코딩"님의 강의를 시청한 후임을 밝힙니다.LV06 Input (youtube.com) 얌얌코딩 (게임 개발)어려운 게임 개발을 쉽게 배우는 방법!www.youtube.comWASD 방향 입력 받기void lkb::Input::Update(){ for (size_t i = 0; i mKeys라는 배열 안에는 알파벳이 모두 들어가 있는 사용자 정의 class인 Key가 들어가 있다.Key에는 boolean값과 state값, 눌린 eKeyCode 값이 들어가 있다.동시에 여러 키가 바인딩 되는 경우가 있을 수 있다 (대각선 움직임 방향 같은 경우)그런 경우를 대비해 모든 배열을 루프하며 바인딩 된 키를 찾아주어야 한다.int ASCII[(UINT)eK..