전체 글
-
WM_LBUTTONDBLCLKWin API/2. 메시지 처리 함수 2021. 3. 29. 09:15
윈도우 창 내에서, 마우스 더블 클릭 시 더블 클릭된 마우스의 위치를 출력하는 프로그램을 만들어 보자. 아래의 내용과 거의 같다. designatedroom87.tistory.com/405 WM_LBUTTONDOWN ( 마우스 왼쪽 클릭 ) 개발 환경 : Visual Studio 2008 윈도우 창이 뜨고나서, 이 윈도우 창 내에서 클릭된 마우스의 좌표값을 보여주는 프로그램을 만들어 보자. 소스 내용 프로그램 실행결과 MAKEPOINTS함수를 알아보자. MAKEP designatedroom87.tistory.com 소스 내용 더블클릭기능을 만들려면, 아래와 같이 윈도우 스타일에서 CS_DBLCLKS를 추가해줘야 한다. 프로그램 실행결과 소스 파일 이번에는 아래와 같이 메시지 처리 함수에서 왼쪽 버튼의 클..
-
WM_LBUTTONDOWN ( 마우스 왼쪽 클릭 )Win API/2. 메시지 처리 함수 2021. 3. 29. 08:58
개발 환경 : Visual Studio 2008 윈도우 창이 뜨고나서, 이 윈도우 창 내에서 클릭된 마우스의 좌표값을 보여주는 프로그램을 만들어 보자. 소스 내용 프로그램 실행결과 MAKEPOINTS함수를 알아보자. MAKEPOINTS함수가 반환하는 값은 POINTS구조체이다. 이 구조체 안에는 x와 y의 좌표 값이 들어있다. 이 함수의 반환값을 임시 변수 Pos로 받는다. TCHAR 배열에 대해 알아보자. Widechar형 배열하나를 임시로 선언한 부분이다. TCHAR는 자료형. char는 1바이트, TCHAR는 2바이트이다. _stprintf_s 함수에 대해 알아보자. Pos.x와 Pos.y 의 값이 L" %d %d"에 들어가고, _stprintf_s함수가 L" %d %d"값을 temp에 넣어준다. ..
-
WM_CREATEWin API/2. 메시지 처리 함수 2021. 3. 29. 08:40
작업 환경 : Visual Stdudio 2008 윈도우 창이 하나 생성되었을 때, "윈도우 창이 생성되었습니다." 라는 메시지 창을 하나 띄워 보자. 아래의 WinMain 함수는 윈도우 창을 하나 생성하는 내용으로 수정된 내용이 없다. 소스 파일 내용 WM_CREATE 메시지는 윈도우가 생성될 때 보내지므로 각종 초기화를 하기에 적합한 장소이다. ( 윈도우의 일생을 통틀어 딱 한 번씩만 전달되는 특성이 있어 일회적인 작업인 초기 처리에 사용 ) 윈도우가 제대로 실행되기 위한 선결 조건이 있다면 WM_CREATE에서 처리한다. WM_CREATE 메시지는 CreateWindow 함수에 의해 메인 윈도우가 생성된 직후에 보내진다. WM_CREATE 메시지는 특정한 윈도우에 관련된 초기 처리를 하는데 사용하는..
-
3. 메인 함수 구성하고 게임 완성 하기C,C++로 만드는 간단한 프로젝트/베스킨 라빈스31 게임 2021. 3. 27. 20:50
아래에서 만든 함수들을 이용해서 구현하면 된다. designatedroom87.tistory.com/402 2. 게임에 필요한 함수 만들기 아래의 내용을 이어서 만들어 보자. 게임에 필요한 함수들을 만들어 보자. designatedroom87.tistory.com/401 헤더 & 소스 파일" data-og-host="designatedroom87.tistory.com" data-og-source-url="ht.. designatedroom87.tistory.com main 함수를 보자. 프로그램 실행결과 헤더 & 소스 파일
-
1. 게임 구성하기C,C++로 만드는 간단한 프로젝트/베스킨 라빈스31 게임 2021. 3. 27. 20:31
우선 아래의 프로그램 실행결과를 보도록 하자. 컴퓨터와 유저가 번갈아 가면서 부를 숫자의 개수를 입력 받는다. 즉, 3을 입력하면 숫자 3개를 선택한다는 의미이다. 1부터 31까지의 수가 존재하는데, 31 이상의 수를 부르는 쪽이 게임에서 진다. 즉, 유저가 처음에 3을 입력하면 1,2,3 이렇게 세 개의 숫자를 부르게 된다. 뒤이어서 컴퓨터가 2를 입력하면 4,5 이렇게 두 개의 숫자를 부르는 방식이다. 공통으로 쓸 헤더 파일들을 한데 모아두도록 하자. 이는 common.h 라는 헤더 파일을 하나 만들어서 여기에 정의하도록 하자. 헤더 & 소스 파일
-
5 - (5). 플레이어 클래스를 싱글톤 클래스화 하기C,C++로 만드는 간단한 프로젝트/Invaders(Galaga) 게임 만들기 2021. 3. 27. 11:18
아래의 내용에 이어서 플레이어 클래스를 싱글톤 클래스로 변경하자. designatedroom87.tistory.com/397 5 - (4). Shot 클래스화 하기 아래의 내용을 이어서 진행하자. designatedroom87.tistory.com/396 5 - (3). 에너미들을 관리해주는 매니저 클래스 설계( 싱글톤 클래스 )하기 아래의 내용에 이어서 에너미들을 관리해주는 매니저 클래스 designatedroom87.tistory.com 싱글톤 클래스에 대해서는 앞에서 설명했으므로, 설명은 언급하지 않는다. 아래는 플레이어 클래스가 정의 되어있는 Player 헤더 파일이다. 멤버함수에는 변경한 부분이 없다. 그리고 main 소스 파일에서 변경된 부분은 다음과 같다 . 헤더 & 소스 파일
-
5 - (4). Shot 클래스화 하기C,C++로 만드는 간단한 프로젝트/Invaders(Galaga) 게임 만들기 2021. 3. 26. 21:24
아래의 내용을 이어서 진행하자. designatedroom87.tistory.com/396 5 - (3). 에너미들을 관리해주는 매니저 클래스 설계( 싱글톤 클래스 )하기 아래의 내용에 이어서 에너미들을 관리해주는 매니저 클래스를 만들어 보자. designatedroom87.tistory.com/395 5 - (2). 에너미를 클래스화 하기 아래의 내용에 이어서, 이번에는 에너미를 클래스화 해보 designatedroom87.tistory.com main 소스 파일에 정의된 아래의 내용을 common.h 헤더 파일로 옮기자. 옮기면 아래와 같이 common 헤더 파일의 내용이다. Shot 클래스를 보자. Shot.h 헤더 파일에 정의한다. 총알이 생성될 때, CreateShot 멤..