2011-11-29 199 views
0

我试图创建一个调整位图比例(通过捏放大),然后将其居中在屏幕上的方法。但每当我缩小,它就会从左上角小,当我放大它长到右下:2D缩放,缩放和平移

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

     Position.x += 1; 
     Position.y += 1; 
    } 

我试图通过移动精灵的位置偏移,但它不”工作。我不知道这个比例。你如何缩放一个精灵(位图),并让它保持在屏幕上的相同位置(从中心,我猜)?

回答

0

考虑垂直然后水平。

如果位图的宽度变化了+10像素,那么要在同一个位置水平居中,您需要将其位置移动-5个像素。

相同的高度。存储以前的值和当前值,计算差值,右移floor(widthDiff/2)并上移floor(heightDiff/2)