본문 바로가기
728x90
반응형

WinApi327

08 WinAPI) Timer 더보기 https://github.com/JinHyung16/WinApi GitHub - JinHyung16/WinApi Contribute to JinHyung16/WinApi development by creating an account on GitHub. github.com 이전 시간에 update()와 render() 부분까지 함수를 나눠 core의 process에서 처리하는 코드를 작성했다. 문제는 실제 1 pixel 움직이려고 구현했는데 내부 처리는 매우 많이 되어 이상한 모양이 나왔다. 이를 위해 개선하려 하는데 아이디어는 다음과 같다. 컴퓨터는 내부적으로 연산이 매우 빠르다. 물론 이는 컴퓨터 성능과 연관이 있을 것이다. 그러나 실제로 우리가 1칸 움직이려고 해도 컴퓨터 내부적으로는 아주 .. 2023. 11. 17.
07 WinAPI) Window 창 받아 만들기 더보기 항상 작업해둔 내용에 자세한 코드는 GitHub에 올려두고 있습니다. https://github.com/JinHyung16/WinApi GitHub - JinHyung16/WinApi Contribute to JinHyung16/WinApi development by creating an account on GitHub. github.com 이제 Core 클래스를 만들었으면 Core의 init함수에서 해상도에 맞춰 화면을 그려보려 한다. 이때 화면을 그린다는건 메뉴바등을 다 제외한 실제 클라이언트 영역을 의미한다. 먼저 실제 화면을 그리려면 AdjustWindowRect를 통해 내가 그리고 싶은 화면의 크기를 조정한다. 이때 rt를 레퍼로 보냈는데 반환값이 따로 없다. 대신 AdjustWindow.. 2023. 11. 15.
06 WinAPI) Singleton 오늘은 Singleton 패턴에 대해 배우려고 한다. Unity에서 Singleton을 자주 다뤘지만 막상 C++로 하려니 조금 낯선느낌ㅋㅋ 이 또한 GitHub에 코드로 올라가 있으니 Core 폴더 내부의 CCore.h 파일을 확인하자 https://github.com/JinHyung16/WinApi GitHub - JinHyung16/WinApi Contribute to JinHyung16/WinApi development by creating an account on GitHub. github.com 우리가 객체 생성을 하여 사용할 때 오로지 1개의 객체만을 갖도록 보장하고 싶을 때 사용한다. 이해를 위해 Step을 나눠가며 하나씩 코드로 작성하고자 한다. 먼저 동적 할당 방법으로 만들어보자. St.. 2023. 11. 12.
05 WinAPI) PeekMessage 더보기 https://github.com/JinHyung16/WinApi GitHub - JinHyung16/WinApi Contribute to JinHyung16/WinApi development by creating an account on GitHub. github.com GitHub에 가시면 코드 다운받으셔서 커스텀 가능합니다! 이전 04 글에서 화면에 사각형을 그리고 움직였다. 만약 화면에 그려야할 오브젝트가 많아진다면? 그리고 내 캐릭터를 움직이는데 키를 지속적으로 누르고 있다면? 화면에 그려지는 정보는 어떤 식으로 보여질까? 게임에서 렌더링과 프레임을 생각해보자. 우선 메시지 기반에서 렌더링을 볼 수 있게 코드를 수정해보자. 마우스 좌클릭시 위치를 받고 좌클릭이 끝나는 지점에서의 위치를 받.. 2023. 11. 11.
03 WinAPI) 핸들과 DC(1) Github에 공부한 내용을 올렸습니다! 그냥 다운받고 프로젝트 실행하면 바로 돌아갑니다. 주석을 통해 해당 부분이 어떤 의미고 WinApi32의 구조가 현재 어떤 구조인지 파악하기 쉽게 정리하고 있습니다! 항상 말하지만 RTFM이 최고입니다! MSDN을 꼭 보세요ㅠㅠ 깃헙 들어온 김에 follow도 해주시면 감사하겠습니다 ㅎㅎ https://github.com/JinHyung16/WinApi GitHub - JinHyung16/WinApi Contribute to JinHyung16/WinApi development by creating an account on GitHub. github.com WinMain내 Message를 처리하는 부분을 보면 결국 현재 구조는 어떤 message를 받아 이를 메시.. 2023. 11. 9.
02 WinAPI) 기본(2) 주석을 보고 함수명을 보면 알겠지만 이 부분에서 윈도우 창을 생성한다. WS_OVERLAPPEDWINDOW가 가장 기본이 되는 윈도우 창인데, 여러 게임을 보면 창을 다 예쁘게 꾸미는데 여기 인자 값을 통해 바꾸면 된다. WS_OVERLAPPEDWINDOW의 F12를 눌러 살펴보면 define 부분이 뜬다. 여기서 잘 보면 WS_SYSMENU가 있는데 이는 시스템 메뉴로 프로그램 실행했을 때 다음과 같이 메뉴 창을 의미한다. (이거 하나는 알고 있어서 다행이닼ㅋㅋㅋ) CreateWindow를 통해 윈도우 핸들이 만들어 지고 우리는 이 윈도우 핸들을 이용해 마우스 좌표나 출력 도구등을 다뤄 이 위에서 만들어야 한다!! CreateWindow의 인자 중 CW_USERDEFAULT, 0, CW_USERDEFA.. 2023. 11. 7.
728x90
반응형