2013-08-21 65 views
0

我的问题是菜单,它显示“按空间播放!” 但是当我按下它,它不起作用! 我认为它与同时出现问题环路 我不能正确显示代码,所以这里是我的代码的链接 https://github.com/Donutoftime44/nheon-shooter 我试图把如果我的代码之类的语句虽然循环不起作用

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

但它仍然一点儿也不工作! 有人可以帮我吗?

+2

不能正确显示的代码添加menu = False,但你必须格式正确的代码在你的文章? – user2357112

+2

链接中的代码太多了。将它分解为[SSCCE](http://sscce.org/),否则任何人都不会通读所有内容来帮助你。 – user2357112

+0

世界上有许多例子,while循环可以工作。我可能会建议一个对你的实际问题更具描述性的标题?这样,知道如何帮助的人更有可能找到你的问题。 – SethMMorton

回答

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没有其他地方出现在你的代码。

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 

因为你永远不会改变菜单的循环永远不会休息,我相信你可能要在if event.key == K_SPACE: