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

Python 如何更改Pygame坐标系,使窗口的中心为(0,0)?,python,pygame,Python,Pygame,我想更改pygame坐标系,使窗口的中心为(0,0),并具有负值,如中所示。 有没有可能转换坐标的方法 PyGame使用一个坐标系,其中左上角为(0,0)。这是无法改变的 如果要将坐标系的原点移动到屏幕的中心,则必须自己平移坐标。例如,编写一个转换坐标的函数: def中心_原点(surf,p): 返回(p[0]+surf.get_width()//2,p[1]+surf.get_height()//2) screen.blit(我的图像,中心原点(屏幕,(x,y))) 或者使用lambda表

我想更改pygame坐标系,使窗口的中心为(0,0),并具有负值,如中所示。 有没有可能转换坐标的方法


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

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

def中心_原点(surf,p):
返回(p[0]+surf.get_width()//2,p[1]+surf.get_height()//2)
screen.blit(我的图像,中心原点(屏幕,(x,y)))
或者使用lambda表达式:

center\u origin=lambda p:(p[0]+screen.get\u width()//2,p[1]+screen.get\u height()//2)
screen.blit(我的图像,中心原点((x,y))

可以在窗口中间创建一个屏幕。然后添加四个坐标,并使用类来协调窗口坐标。这是一个很大的工作,我不知道该怎么做。你认为有一种方法来转换坐标吗?看看答案。