我正在 pygame 中制作游戏,并且我希望出现一张图片,只有当光标在它上面时。这是我所做的:
while True:
clock.tick(FPS)
mx, my = pygame.mouse.get_pos()
darktower_rect = pygame.Rect(x, y, DARK_TOWER.get_width(), DARK_TOWER.get_height())
if darktower_rect.collidepoint((mx,my)):
WIN.blit(DARK_TOWERT, (x, y))
if click:
main()
for event in pygame.event.get():
if event.type==pygame.QUIT:
pygame.quit()
if event.type==pygame.MOUSEBUTTONDOWN:
if event.button==1:
click=True
pygame.display.update()
这可行,但问题是, blit
将图片保留在那里,并且我希望图片在鼠标不再位于图片上后消失。
回答1
如果您将 blit(绘制)到 WIN
表面,它将一直停留在那里,直到在其上绘制了某些东西,或者清除了表面。
在 pygame.display.update()
之后更新附加到您的代码后清除显示
WIN.fill(0)
这将用颜色填充窗口表面,如果指定 0
而不是 rgb value,则显示将填充黑色。