更改pygame的原点的坐标系的位置(Change the position of the orig

2019-09-16 13:31发布

我做的向量和物理学的一些操作在pygame的,默认的坐标系是不方便对我来说。 通常情况下, (0, 0)点在左上角,但我宁愿为原点是在左下角。 我宁愿改变坐标系统比我画的每一件事情转换。

是否有可能改变坐标系中pygame的,使它象这方面的工作?

Answer 1:

不幸的是,Pygame的不提供任何这样的功能。 要做到这一点,最简单的方法是有一个功能转换坐标,绘制刚任何对象之前使用它。

def to_pygame(coords, height):
    """Convert coordinates into pygame coordinates (lower-left => top left)."""
    return (coords[0], height - coords[1])

这将需要你的坐标,并将其转化为pygame的坐标绘制,给予height ,窗口的高度, coords ,对象的左上角。

要改为使用对象的左下角,你可以把上面的公式,并减去对象的高度:

def to_pygame(coords, height, obj_height):
    """Convert an object's coords into pygame coordinates (lower-left of object => top left in pygame coords)."""
    return (coords[0], height - coords[1] - obj_height)


文章来源: Change the position of the origin in PyGame coordinate system