728x90 WinAPI12 다시 공부 하는 Win API (4) - 슈팅 게임 만들기(2) 전 글에서 캐릭터를 움직이며 총을 쏘는 부분과 적 생성까지는 완료하였다.이제 총을 쐈을 때 총알이 적과 충돌 하였을 때 hp를 깎아주고 사라지게하는 과정을 이어서 하겠다. 원과 원의 충돌을 계산을 할건데. 원의 중점사이의 거리를 이용해 계산을 하면 된다. 두 점의 간격 거리가 원의 반지름의 합보다 작으면 충돌이 일어난 상태가 된다.아래와 같은 느낌이라고 보면 된다. 이를 코드를 이용한 수식으로 나타내면 아래 처럼 된다. 자 그러면 이제 본격적으로 충돌이 되었을때 일어날 이펙트를 간단하게 구현해보자우선 충돌이 일어 났을때 원의 색깔을 변경하기 위해 Enemy.h에 HBRUSH를 추가해주고생성 소멸을 해준다.충돌이 일어 났을때 총알도 같이 사라져야 하기 때문에 BulletManager.h와 cpp에 충돌이 .. 2025. 10. 20. 다시 공부 하는 Win API (3) - 슈팅 게임 만들기(1) 저번에 간단하게 키다운을 이용하여 선과 도형을 그리고 색깔을 변경하는 작업을 하였다.이번에는 도형 하나를 그리고 그것을 움직이며 발사체를 만들어 위쪽으로 총알을 발사하는 것을 구현할 것 이다. 일단 Circle.h, cpp 파일을 새롭게 만들고 framework.h에 include를 해주고코드를 작성하자. Circle을 직접 받아 바로 그리진 않고 원이라는 객체를 만들어 관리해줄 것이다.원을 그리는 과정에서 필요한 것들을 해당 코드에 작성을 해준다. 해당 원을 직접 움직이며 플레이를 하는 플레이어가 될것이기에 Circle을 상속받는 Player.h, cpp파일을 만들고플레이어에 필요한 조작들과 위에서 만든 원을 Render해준다.이제 플레이어가 만들어 졌으면, 발사를 할 발사체 파일을 만들어주자bul.. 2025. 10. 18. 다시 공부 하는 Win API (2) - 점, 선, 도형 그리기 및 색상 변경 저번에 하던 것을 이어하면 PainTool에 그리기 타입을 더 쉽게 조정하기 위한 enum class 만들어 준다.enum DrawType로 만들 수도 있기는 하나 WinApi에서 기본으로 제공해주는 구조체들과 중복이 생기기에 class로호출 시 :: 이용하여 구분 해준다고 보면 된다.또한 색과 펜 타입 선택을 분리 관리하기 위한 함수 및 변수색 선택은 해시 맵으로 관리해 색선택 SetColors함수 만들어주고버튼 눌렸을 때 실행될 함수 Input 함수 만들어준다. 기존에 했던 함수 내부 코드에서 필요없는 것들은 지우고 필요한 부분 옮기기 및 수정 작업 이렇게 펜으로 점, 선, 도형 그리기 와 색 변경에 대해서 구현했다. 이제 실행을 해서 찍어보면 2025. 10. 16. 다시 공부 하는 Win API (1) - 기초 이론 및 펜 만들기 1. 프로젝트 생성우선 시작하기에 앞서 WinAPI를 먼저 설정을 한다.VisualStdio를 통해 만들것이며 c++의 window데스크톱 애플리케이션으로 프로젝트를 하나 만들어준다. 생성을 하고 보면 이미 어느정도 작성되어있는 기본적인 코드들이 있다 해당 코드들은 f5를 눌러 프로그램을 실행해보면이러한 창을 만드는 기본적인 코드이다. 기본적인 코드에 대해서 이해를 한 후 여기에 필요한 코드들을 하나씩 추가해본다. 2. WinMain2-1 화면 프로그램이 시작할 제일 처음 호출하는 함수로 주로 창을 생성하고, 메세지 루프를 돌리는 역할을 맡는다.해당 함수의 안의 코드안에 아래와 같은 부분이 창을 생성하는 부분이다.해당 InitInstance 함수는 정의로 이동하여 보면CreateWindowW로 초기에 .. 2025. 10. 15. 이전 1 2 3 다음 728x90