我正在使用 pygame 渲染交互式 2d 地图。 我的想法是从 png 中提取每个区域的坐标,并使用它们通过以下算法进行滚动和缩放:
x - offset[0] * zoom, y - offset[1] * zoom
但是,经过几度的缩放后,各个区域的边界之间会产生一个小间隙。有什么办法可以减少吗
def zoom_point(point, offset, zoom):
x = int((point[0] - offset[0]) * zoom)
y = int((point[1] - offset[1]) * zoom)
return x, y
def zoomed_points(points, offset, zoom):
for point in points:
yield zoom_point(point, offset, zoom)
为了缩放,你不需要缩放图像吗?
此外,缩放代码仅移动 x 和 y,而不是实际缩放它,用于缩放将图像传输到第二个表面并缩放它,然后将其传输到窗口上。