【发布时间】:2017-04-10 08:52:50
【问题描述】:
原谅我,我是初学者……
简而言之,我正在尝试在 python 中添加一个单独的循环类。以下是详细信息...
我正在使用 python 和 pygame 制作游戏。我的所有“状态”(例如,开始状态、游戏状态、游戏结束状态等)都有一个基类,其中包括一个通过 pygames 的“事件”进行 for 循环检查的函数(例如退出程序,按键等)。
下面是父方法...它可以工作。
def events(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
self.quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
self.quit()
下面是childs方法。它想添加一个“key up event”到已经存在的“exit”和“escape”事件......
def events(self):
super().events()
for event in pygame.event.get():
if event.type == pygame.KEYUP:
self.start_state = False
发生的情况是代码卡在父类 for 循环中并忽略它下面的所有内容。我还尝试在子代 for 循环下方调用 super ,这只会导致它卡在子代 for 循环中并忽略父代。
我想一个解决方案是为子类事件创建一个单独的方法,但我仍然想知道我尝试这样做的方式是否可行,这样我就可以避免混乱的单独函数。
谢谢。
【问题讨论】:
标签: python function loops methods super