2013-08-21 108 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: