목록분류 전체보기 (156)
승쨩개발공부
자 다시 유닛툴 다이얼로그로 돌아와서 리스트 박스 우클릭후 메시지를 하나 추가해주자 OnListBox함수에 이름 문자열을 찾는 변수를 하나 CString 으로 잡아주고 임시변수 iSelect에 현재 리스트박스에서 선택된 목록의 인덱스를 반환하는 함수를 넣어준다 현재 인덱스에 해당하는 문자열을 리스트박스로 부터 얻어오고 iter에 맵컨테이너에 저장되어잇는 값들을 찾는다 end면 못찾은거니 함수종료시키고 맴버변수에 맵컨테이너 value값을 넣어준다 그리고 실행시켜서 첫번쨰 이름 AAA, 체력 10, 공격력 10을 Add시키고 두번쨰 이름 BBB, 체력 20, 공격력 20을 Add시킨다 그리고 리스트박스에 들어있는 문자열을 누르면 그 문자열에 맞는 이름,체력,공격력이 바뀌게된다. 다시 유닛툴 다이얼로그로 돌아..
이제 본격적으로 UNITTOOL 다이얼로그를 만들어보자 Ctrl + Alt + X를 눌러 도구상자를 연뒤 Static Text로 이름,체력,공격력을 정해준다. 그 후 이름,체력,공격력을 입력받을 Edit Control을 만들어 배치해준다 그후 이름,체력,공격력을 담을 ListBox를 생성해준다 그후 버튼을 눌러 리스트 박스에 이름,체력,공격력을 저장하기위한 버튼을 만든다 이름,체력,공격력을 담은 구조체를 하나 만들어준다 리스트 박스를 우클릭해 맴버변수를 하나 만들어준다 Add 버튼을 우클릭해 이벤트 처리기를 만든다 구조체를 받기위해 Include.h를 추가해주고 이름,체력,공격력 맴버변수를 만든다 map 컨테이너 를 만든다. 맴버변수를 생성자에 초기화해주고 각각 ID값에 맞게 맴버변수를 넣어준다 그리고 ..
먼저 UnitTool(유닛의 정보가 들어가있는)로 사용할 클래스를 하나와 전에 만든 UnitTool 창을 띄워줄 클래스(MyFormView) 하나를 만들어준다. 우선 Ctrl + Alt + E 를 눌러 리소스 뷰를 띄워준다 IDD_MYFORM에서 신경쓰이는 문구를 삭제해주자. 그다음 Ctrl + Alt + X를 눌러 도구상자를 여는대 우리가 도구 상자에서 사용할 것은 몇개 되지 않기때문에 사용할 도구들의 의미에 대해서만 설명하려고한다. Button : 버튼 Check Box : 체크 박스 Edit Control : 입력란 List Box : 정보를 표시해줄 공간 Radio Button : 동그란 체크 박스 Static Text -> 아래에 Static으로 적혀있는 Text 도구인데 우측에 있는 입력란에 ..
우리는 전 시간까지 타일을 깔고 피킹을 해보았다 그러면 이제 우리는 본격적으로 툴 기능을 수행하기 위해 이런 식으로 배치를 해보자. 먼저 툴 기능 수행창을 만들기 위해 CMyForm 클래스를 만들어준다. 기본 클래스는 CFormView로 한다 그리고 미니맵 생성을 위해 CMiniview 클래스를 만들어준다. 기본 클래스는 CView로 한다. 자 이제 MyForm 클래스와 Miniview클래스를 만들었으면 처음 계획한대로 창을 나눠주자 창을 분리하기 위해 MFC에서 제공해주는 CSplitterWnd 클래스를 사용해보자 메인프레임 클래스로 와서 MainSplitter와 SecondSplitter 맴버변수를 만들어주자 여기서 잠깐 왜 Splitter를 두개나 멤버변수를 만드냐? 창을 분리하더라도 기존의 Too..
먼저 Terrain 클래스에 TileChage를 위한 함수, TileIndex를 구하고 내적의 결과를 구해 인덱스를 반환하는 함수, 내적을 통해 피킹하는 함수를 만든다. iIndex = GettileIndex의 반환값을 받는다 iIndex가 -1일경우 함수를 종료시킨다 iIndex가 정상적인 값일경우 DrawID를 바꿔주고 Option을 1로 바꿔준다 VecTile에 담긴 크기만큼 for문을 돌면서 내적의 결과값을 iIndex로 반환시킨다 아닐경우 -1반환 마름모꼴 버텍스를 구해준다 시계방향으로 향하는 네 방향백터를 구해준다 vVetex[1] - vVertex[0] = 0번이 1번을 향하는 방향백터 vVetex[2] - vVertex[1] = 1번이 2번을 향하는 방향백터 vVetex[3] - vVert..
타일을 배치하기 전 몇개의 타일을 배치할것인지 정한다. 화면의 총 600개의 타일을 배치한다 가정하고 X,Y축 타일 갯수와 리소스의 맞는 타일 크기를 매크로로 잡아준다 이제 타일을 배치하는데 어떤식으로 배치할것인지 생각한다면 2D 게임 타일을 배치할떄 정사각형 모양으로 타일을 배치했을것이다. 그런데 마름모로 배치하게 된다면 밑에 그림과 같은 모양이 나올것이다 홀수와 짝수 X축 라인이 서로 다르게 나오게 된다. 첫번쨰 라인 중점은 0,0 기준으로 되어있고. 두번쨰 라인 중점은 X축으로 (TILECX / 2)만큼, Y축으로 (TILECY / 2) 만큼 기준으로 되어있다. 이를 이용해 2중 for문을 사용해 타일을 배치하는 코드를 짜보자. 백터의 사이즈를 타일을 배치할만큼 reseve를 이용해 미리 공간을 예..