-1

我一直在编写一个简单的游戏。我正在尝试使我的一个精灵可点击,并loaddeath()在点击时执行。

虽然我遇到了几个错误。

screen.blit(chinese, (randomx1, randomy1))
screen.blit(green, (randomx2, randomy2))
screen.blit(eden, (randomx3, randomy3))

screen.blit(obama, (randomx5, randomy5))
screen.blit(blue, (randomx6, randomy6))

#I want this object to be clickable
screen.blit(kevin, (randomx8, randomy8))
screen.blit(hud, (0, 0))

我的事件循环:

for event in pygame.event.get():
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()

我需要添加什么?

4

1 回答 1

1

要检测鼠标点击,您需要使用pygame.mouse.get_pressed()

并且您还需要为要使其可点击的对象制作一个矩形。

然后,使用 . 编写一个 if 语句collidepoint()。这会告诉你一个点是否在一个矩形中。

所以,这样做:

if pygame.mouse.get_pressed()[0] and sprite_rect.collidepoint(mouse_pos):
    #do action

这基本上是说如果单击鼠标按钮并且鼠标和矩形正在触摸做某事,sprite_rect那么您为要单击的对象制作的矩形在哪里,并且mouse_pos是鼠标的当前位置。

pygame.mouse.get_pos()(在循环中使用鼠标的位置)

有关所有这些方法的更多信息,请查看此处。

于 2013-08-24T23:44:22.023 回答