我知道在 pygame 中有多种调整屏幕大小的方法,但是我无法按照我想要的方式进行调整。
我使用的方法是将一个表面贴合到屏幕上,这意味着它会保持成比例,但会有边框。我想要做的是调整表面的大小,然后对表面的裁剪版本进行 blit。因此,它会显示不同大小的不同数量的表面,而不是边框。
我应该如何实现这一目标?
这是我试过的。
blit_surf_rect = transform.scale(blit_surf, (blit_surf.get_width(), blit_surf.get_height())).get_rect()
fit_to_rect = blit_surf_rect.fit(screen.get_rect())
fit_to_rect.center = screen.get_rect().center
scaled = transform.scale(blit_surf, (fit_to_rect.size[0]*scale, fit_to_rect.size[1]*scale))
screen.blit(scaled, (xPos, yPos)
display.flip()
这样做的问题是我不知道如何获得相对的鼠标位置以及如何不对用户不可见的额外内容进行 blit。