如何更改Pygame坐标系,使窗口的中心为(0,0)



我想更改pygame坐标系,使窗口的中心为(0,0(,并且像图像中那样具有负值。有没有可能转换坐标的方法?

https://i.stack.imgur.com/sGPFt.gif

PyGame使用左上角为(0,0(的坐标系。这是无法改变的。

如果要将坐标系的原点移动到屏幕中心,则必须自己平移坐标。例如,编写一个转换坐标的函数:

def center_origin(surf, p):
return (p[0] + surf.get_width() // 2, p[1] + surf.get_height() // 2)
screen.blit(my_image, center_origin(screen, (x, y)))

或者使用lambda表达式:

center_origin = lambda p: (p[0] + screen.get_width() // 2, p[1] + screen.get_height() // 2)
screen.blit(my_image, center_origin((x, y))

最新更新