我做的向量和物理学的一些操作在pygame的,默认的坐标系是不方便对我来说。 通常情况下, (0, 0)
点在左上角,但我宁愿为原点是在左下角。 我宁愿改变坐标系统比我画的每一件事情转换。
是否有可能改变坐标系中pygame的,使它象这方面的工作?
我做的向量和物理学的一些操作在pygame的,默认的坐标系是不方便对我来说。 通常情况下, (0, 0)
点在左上角,但我宁愿为原点是在左下角。 我宁愿改变坐标系统比我画的每一件事情转换。
是否有可能改变坐标系中pygame的,使它象这方面的工作?
不幸的是,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)