2013-08-21 4 views
0

Моя проблема - это меню, оно показывает «Нажмите, чтобы играть!» Но когда я нажимаю его, он не работает! Я думаю, что его проблема с петлями времени я не могу показать код правильно, так вот ссылка на мой код https://github.com/Donutoftime44/nheon-shooter Я пытался ставить, если заявления в своем коде, какПока петли не работают

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

Но это еще does'nt Работа! Может кто-нибудь мне помочь?

+2

Вы не можете отобразить код правильно, но вы правильно отформатированные код прямо в вашем сообщении? – user2357112

+2

В вашей ссылке есть слишком много кода. Разделите его на [SSCCE] (http://sscce.org/), или никто не прочитает все это, чтобы помочь вам. – user2357112

+0

В мире существует много примеров того, что в то время как петли работают. Могу ли я предложить заголовок, более описательный для вашей реальной проблемы? Таким образом, люди, которые знают, как помочь, с большей вероятностью найдут ваш вопрос. – 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 

Потому что вы никогда не изменить меню петля никогда не ломается, я полагаю, вы можете добавить menu = False в if event.key == K_SPACE:

Смежные вопросы