Python PyGame菜单格式

Python PyGame菜单格式,python,visual-studio-2010,pygame,Python,Visual Studio 2010,Pygame,所以我最近一直在用Python编写一个游戏以及一个名为PyGame的外部库。若有人熟悉火炉石游戏,那个就是我想要的那个种感觉。然而,这不是重点。我已经研究过如何显示图像及其位置,我一直在尝试在PyGame UI中创建一个带有按钮的菜单。我以前用Visual Basic编程过,我想知道PyGame界面是否允许一般情况下进行系统事件检测,而不像Visual Basic(即鼠标单击、按键)。非常感谢您的帮助。提前谢谢 在pygame中需要进行while循环以进行事件检测。以下是一个例子: import

所以我最近一直在用Python编写一个游戏以及一个名为PyGame的外部库。若有人熟悉火炉石游戏,那个就是我想要的那个种感觉。然而,这不是重点。我已经研究过如何显示图像及其位置,我一直在尝试在PyGame UI中创建一个带有按钮的菜单。我以前用Visual Basic编程过,我想知道PyGame界面是否允许一般情况下进行系统事件检测,而不像Visual Basic(即鼠标单击、按键)。非常感谢您的帮助。提前谢谢

在pygame中需要进行
while
循环以进行事件检测。以下是一个例子:

import time

while 1:
  for event in pygame.event.get():
    if event.type == pygame.QUIT:
      #happens when 'X' in window is clicked
      #put code to be executed here
    elif event.type == pygame.MOUSEBUTTONDOWN:
      onclick_function(pygame.mouse.get_pos) 
      #passes mouse position as tuple to function to deal with click control.
当向显示器显示图像时,需要知道坐标。只需保留一个
Rect
对象的列表,每个对象在单击时都有一个要执行的函数,并使用一个函数遍历列表,查看鼠标坐标是否在
Rect

请参阅将图像快速显示到显示器的链接:

链接:

-
Rect

-
曲面

-
图像

我想知道PyGame界面是否允许一般的系统事件检测,这与VisualBasic没有什么不同

简短回答:不。Pygame不是事件驱动的。您必须自己编写所有内容,因为pygame只是SDL的一个小包装,具有一些额外的特性

也许可以看看或,它提供了这样的事件循环。

如果你“研究过如何显示图像及其位置”,那么,带按钮的菜单就是这样。当然,有一个事件系统,请阅读PyGame的文档。