如何在Pygame中制作一系列坐标?

时间:2020-05-05 00:56:50

标签: pygame

这是一个非常简单的问题,但是我想编码一些东西,以便当您在某个范围内并且单击某个东西时,它会改变背景。到目前为止,一切正常,但是我只知道如何编写代码,这样当您确定X和Y坐标的确切位置时,您可以单击它。我如何做到这一点,例如,如果您处于100-300 X和500-600 Y范围内,而与100 X和600 Y的精确坐标相对,则该范围是什么?

(这是我正在使用的代码段,如果需要的话,我可以提供完整的代码。)

if 120+75 > mouse[0] > 120 and 50 + 125 > mouse[1] > 125 and x == 110 and y == 60:
    print('Click to change')

2 个答案:

答案 0 :(得分:1)

您必须定义矩形区域(xy)的左上位置和区域的大小(widthheight):

x = 120
y = 125
width = 75
height = 50

评估鼠标是否在该区域中:

if x < mouse[0] x + width and y < mouse[1] y + height:
    print('Click to change')

我建议使用pygame.Rect.collidepoint()。通过(x,y,width,height)定义一个矩形对象,并评估鼠标的位置是否在矩形区域内:

rect = pygame.Rect(120, 125, 75, 50)
if rect.collidepoint(mouse):
    print('Click to change')

答案 1 :(得分:0)

这听起来像是您试图创建一个按钮,在代码中您拥有鼠标以及x和y,如果鼠标处于鼠标位置,则不确定x和y是什么,但是这是使用按钮x位置的方法, y的位置,宽度和高度。

mouse_pos = pygame.mouse.get_pos()
if mouse_pos[0] > x_pos and mouse_pos[0] < x_pos + width:
    if mouse_pos[1] > y_pos and mouse_pos[1] < y_pos + height:
        if click:
            background = (255,255,255) #change background