game-1 님의 블로그

[MapTool] CollisionBoxTool 본문

카테고리 없음

[MapTool] CollisionBoxTool

game-1 2025. 4. 21. 22:27

랜덤 맵 제작을 어느 정도 마치고, 

 

마을이나 보스 던전을 만들 때에 기본 배경에 콜리젼을 추가해주어야하는데, 

일일히 위치좌표를 넣어주고 박스를 계산해줄까 하다가,

 

나중에 작업량이 많아질 것을 대비해서 콜리젼 박스 그려서 좌표를 저장하는 방식으로 맵툴을

간단하게 라도 만드는 것이 낫다고 판단하였습니다.

 

 

제가 만들 방식은 드래그앤드롭으로 콜리젼 박스를 생성하고,  txt파일로 저장해주는 방식입니다.

'

 

초기화할 때, 맵의 이름을 받아옵니다.

앞으로 이 이름을 통해서 파일을 Collision을 생성하고, 불러오고 저장하고 할 것입니다.

 

 


우선, 광장 맵부터 콜리젼을 만들어 볼 생각입니다.

밑처럼 마우스 좌표를 받아와서 rect를 만들어주고, boxes에 넣어줍니다.

이때 boxes는 vector<CollisionBox>자료형으로, 확장성을 고려해서 tag를 추가해주었습니다. 

 

 

save하고 load하는 기능을 추가해주면, 

저장했을 때 다음과 같은 파일이 생기고

 

 

Init했을 때, 파일을 로드하여 불러오는 방식으로 사용했습니다.

 

 


 

Collision 테스트 코드)

충돌 검사를 해보면 잘되는 모습을 볼 수 있습니다.


 

앞으로 추가할 기능은,

음... 다른 상호작용들을 고려해서  tag넣은거에 기능 추가하거나 

 

절차적맵생성 최적화 부분 신경쓰려고 합니다.

미니맵까지 추가하니까.. 프레임이 꽤나 떨어지는 것 같아서 말이죠..