我在游戏中创建了一个按钮,按钮的宽度为50,高度为30,位置为(150,50),颜色为橙色,当用户将光标悬停在按钮上时,我希望将其颜色更改为浅橙色,以显示它是可点击的。我刚刚找到了一种方法,使用矩形变量上的碰撞点方法来检测光标的位置,但我仍然不知道如何改变颜色。有人能给我一段代码来做这件事吗?
发布于 2018-03-18 15:57:21
你需要获取指针的位置,并检查它是否与按钮的矩形发生冲突:
lighter_orange = (255, 165, 0) #RGB orange
while True:
btn_rect = 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 btn_rect.collidepoint(pointer): # if pointer is inside btn_rect
button.fill(lighter_orange)正如您所看到的,Pygame的Surface类有一个fill()方法,该方法用您传递的颜色覆盖表面。
https://stackoverflow.com/questions/49345616
复制相似问题