승쨩개발공부

[MFC] 쿼터뷰 타일 배치 본문

MFC

[MFC] 쿼터뷰 타일 배치

Unknowns 2022. 5. 3. 17:52

타일을 배치하기 전 몇개의 타일을 배치할것인지 정한다.

화면의 총 600개의 타일을 배치한다 가정하고 X,Y축 타일 갯수와

리소스의 맞는 타일 크기를 매크로로 잡아준다

 

이제 타일을 배치하는데 어떤식으로 배치할것인지 생각한다면

2D 게임 타일을 배치할떄 정사각형 모양으로 타일을 배치했을것이다.

그런데 마름모로 배치하게 된다면 밑에 그림과 같은 모양이 나올것이다

 

홀수와 짝수 X축 라인이 서로 다르게 나오게 된다.

첫번쨰 라인 중점은 0,0 기준으로 되어있고.

두번쨰 라인 중점은 X축으로 (TILECX / 2)만큼, Y축으로 (TILECY / 2) 만큼 기준으로 되어있다.

이를 이용해 2중 for문을 사용해 타일을 배치하는 코드를 짜보자.

 

백터의 사이즈를 타일을 배치할만큼 reseve를 이용해 미리 공간을 예약해놓는다.

첫번쨰 라인이 왼쪽부터 쫙 깔리고 두번쨰 라인이 깔리기 위해

첫번쨰 for문은 TILEY,

두번쨰 for문은 TILECX 로 작성하였다

TILE 을 동적할당 해주고

 

백터의 위치(중점), 사이즈, 옵션, 그려질타일번호를 정해준다.

사이즈는 TILECX, TILECY만큼 이니 사이즈를 정해주고.

 

중요한것이 백터의 위치(중점) 인데

홀수줄의 중점과 짝수줄의 중점이 다르다 이를 해결할 공식을 짜보자.

 

fX = (X축 타일의 크기 * j) + ((i * 2) * (X축 타일의 크기 / 2))

fY = (Y축 타일의 크기 / 2) * i

이렇게 공식을 짰다.

 

X축부터 보자면 첫번쨰 라인에 130  크기를 가진 타일을 배치할 경우

fX = (j * X축 타일의 크기) + ((0 % 2) * (X축 타일의 크기 / 2)) 가 되면서

j * 130 + 0 * 65 위치 기준으로 타일을 배치하게 된다.

= 0 ->130 -> 260 -> 390 ....

 

그리고 두 번쨰 라인을 그리게 될 경우

fX = (j * X축 타일의 크기) + ((1 % 2) * (X축 타일의 크기 / 2)) 가 되면서

j * 130 + 1 * 65 위치 기준으로 타일을 배치하게 된다.

= 65 -> 195 -> 325 -> 455

 

그리고 Y는 라인이 증가할떄 * 를 해주면 일정한 간격으로 타일이 깔리게 된다.

 

fY = (TILECY / 2 ) * i

 

첫번쨰줄 = 0

두번쨰줄 = 15

세번쨰줄 = 30

 

'MFC' 카테고리의 다른 글

[MFC] 유닛툴2  (0) 2022.05.10
[MFC] 유닛툴1  (0) 2022.05.10
[MFC] 미니맵  (0) 2022.05.09
[MFC] 내적을 이용한 타일 피킹  (0) 2022.05.04
[MFC] MFC란? Device 초기화  (0) 2021.11.17