我想更改pygame坐标系,以使窗口的中心为(0,0)并具有image中的负值。 有没有可能转换坐标的方法?
答案 0 :(得分:2)
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))