我正在做一个非常低分辨率的游戏,我需要放大才能使它可见。我知道我可以使用Graphics.scale(浮点数x,浮点数y),但我想放大中心。如何缩放居中的图形?有没有更简单的方法来做低分辨率的游戏?
发布于 2011-12-20 10:03:47
我认为你可以translate(float x, float y)你的绘图表面(所以原始的(0, 0)在中心),然后放大。然后,您可以使用resetTransform()来移除该效果。
如果这不起作用,只要在你通过实验放大的时候移动你的左上方的渲染偏移,直到你得到正确的效果。一旦你弄清楚了,把这个逻辑放到一个名为zoomOverPoint(float x, float y)的方法中,然后你就可以设置了。
发布于 2012-09-02 08:25:13
这是一个相当粗糙的解决方案,但是如果你只是把所有东西都变大并移动它会怎么样呢?
例如,假设你有一个正方形和一个圆,你想放大坐标为200,100的正方形,圆的坐标为500,400
因此,为了放大正方形,你可以将它移到屏幕的中心,并在放大时逐渐增加它的大小,同时,圆圈也会从屏幕上移出,变得相对较大。我不知道这是否有意义,但您可能必须为此找出一些复杂的VecMath。
https://stackoverflow.com/questions/8567794
复制相似问题