2011-11-29 5 views
0

비트 맵 배율을 크기 조정 (핀치 확대)하여 화면 중앙에 배치하는 방법을 만들려고합니다. 하지만 축소 할 때마다, 그것은 왼쪽 상단 모서리에서 작아진다, 나는 확대 때 오른쪽 하단에 성장 : 그것은 '아무튼2D 확대, 크기 조절 및 변환

public void ZoomIn() { 
     TileMap.TileSize += 2; 

     Position.x += 1; 
     Position.y += 1; 
    } 
나는 스프라이트의 위치를 ​​이동하여 상쇄 시도

하지만, 일하지 마라. 나는 그 비율을 모른다.

스프라이트 (비트 맵)를 어떻게 스케일하고 화면에서 같은 위치에 머물러있게합니까?

답변

0

가로 세로로 고려해야합니다.

비트 맵의 ​​너비가 +10 픽셀만큼 변경된 다음 동일한 위치에서 가로로 가운데로 정렬하려면 위치를 -5 픽셀 씩 이동해야합니다.

높이와 동일합니다. 이전 값과 현재 값을 저장하고 차이를 계산 한 다음 floor(widthDiff/2)만큼 오른쪽으로 이동하고 floor(heightDiff/2)까지 위로 이동하십시오.