在pygame中突出显示按钮

时间:2018-03-18 07:45:40

标签: python pygame

我在游戏中创建了一个按钮,其宽度为50,高度为30,位置(150,50)和橙色,当用户将光标悬停在其上以显示时,我想将其颜色更改为浅橙色它是可点击的。我刚刚找到了一种方法,使用矩形变量上的碰撞点方法检测光标的位置,但我仍然无法弄清楚如何更改颜色。有人可以给我一些代码提示吗?

1 个答案:

答案 0 :(得分:0)

您需要获取指针的位置并检查它是否与按钮的矩形相撞:

lighterOrange = (255, 165, 0) #RGB orange
while True:
    btnRect = button.image.get_rect() # rect of button's image (a pygame.Surface)
    pointer = pygame.mouse.get_pos() # (x, y) location of pointer in every frame
    if btnRect.collidepoint(pointer): # if pointer is inside btnRect
        button.fill(lighterOrange)

正如你所看到的,Pygame的Surface类有一个fill()方法,用你传递它的颜色覆盖表面。