Languages

Map(Terrain)Tool Editor Make Programming Tutorials

Celestia 2012. 11. 6. 11:22

도라꾸의 프로그래머 - MapTool 맵툴 설계 - 1

http://doraku.tistory.com/entry/MapTool2

 

MapTool의 필요한 클래스 설계

MapToolManager 클래스
맵툴의 전체적인 리소스 및 시스템을 관리하는 클래스이다.

==멤버 변수==
CMapFile  m_pCurMofMap;                                           //현재 편집 중인 map  문서
std::map<int,LPDIRECT3DTEXTURE9>  m_imageTexRes;  //텍스쳐 리소스 목록

==멤버 함수==
private void LoadTextureResource(); //Texture 폴더에 있는 모든 이미지를 로드한다.
private void CreateGrid();                 //Grip를 생성한다.
private void CreateCamera();            //카메라 생성

public void CreateMapTool();           //맵툴 매니저를 생성한다.
public void NewMap();                    //새로운 맵문서를 생성
public void LoadMap();                   //맵 문서를 로드
public void SaveMap();                   //맵 문서를 저장

 CMapFile  클래스
맵의 편집 단위가 된다. 파일을 생성, 로드 할 경우 이 클래스가 생성된다.

==멤버 변수==
CTerrain            m_pTerrain;                 //지형을 생성, 담당하는 클래스
Property2DMap   m_PropertyMap;          //지형 속성 맵
CQuadTree        m_QuadTree;              //쿼드 트리
//멤버 함수는 생략한다.

========================== 노트 ============================
렌더러는 항상 어플이 초기화 되면 생성한다.

화면에 Grip를 보여준다.

사용자 삽입 이미지

<Grip는 max에서 발췌>
뭐 이런식? 으로 초기화면을 보여준다

조작
휠: 카메라 Look방향으로 전진, 후진
오른쪽 마우스 + 마우스 Move : 시점 회전

오늘 제작할 부분
CMapFile제작
Camera클래스 제작
DefaultGrid 제작
Axis Arrow 제작