0

我的问题是菜单,它显示“按空格播放!” 但是当我按下它时,它不起作用!我认为这是 while 循环的问题,我无法正确显示代码,所以这是我的代码的链接 https://github.com/Donutoftime44/nheon-shooter 我尝试将 if 语句放在我的代码中,例如

while not done:
  if menu:
    ...
  elif not menu:
    ...

但是还是不行!有人能帮我吗?

4

2 回答 2

1

你有

   while menu:
      for event in pg.event.get():
        if event.type == QUIT:
          pg.quit()
          sys.exit()
        if event.type == KEYUP:
          if event.key == K_SPACE:
            print "playing"
            done = True

menu = False因为您从不更改菜单,所以循环永远不会中断,我相信您可能想要添加if event.key == K_SPACE:

于 2013-08-21T20:23:49.423 回答
0

假设您正在谈论这部分代码:

while menu:
  for event in pg.event.get():
    if event.type == QUIT:
      pg.quit()
      sys.exit()
    if event.type == KEYUP:
      if event.key == K_SPACE:
        print "playing"
        done = True
  windowdisplay.fill(colors["gray"])
  windowdisplay.blit(label, ((maxx / 2) - 100, maxy - 25))
  pg.display.update()

当用户按下空格键时,您似乎想结束循环。在这种情况下,您需要:

if event.key == K_SPACE:
    menu = False

设置done等于True什么都不做,因为done不会出现在代码中的其他任何地方。

于 2013-08-21T20:23:28.140 回答