2016-07-26 1 views
-2

나는이 모든 것이 매우 혼란스럽고 코드에 대한 간단한 문제 하나를 알아낼 수 없다. 이 코드를 실행할 때, 그리고 뱀이 경계를 넘어 때 UNTIL게임이 이벤트 루프에서 멈추지 않는다.

while not gameExit: 
    while gameOver == True: 
     pygame.display.flip() 
     gameDisplay.fill(white) 
     display_message("OVER. C to continue, Q to quit", red) 

     for event in pygame.event.get(): 
      if event.type == pygame.KEYDOWN: 
       if event.key == pygame.K_q: 
        gameOver = False 
        gameExit = True 
       if event.key == pygame.K_c: 
        gameLoop() 

    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      gameExit = True 
     if event.type == pygame.KEYDOWN: 
      if event.key == pygame.K_LEFT: 
       lead_x_change = -10 
       lead_y_change = 0 
      elif event.key == pygame.K_RIGHT: 
       lead_x_change = 10 
       lead_y_change = 0 
      elif event.key == pygame.K_UP: 
       lead_y_change = -10 
       lead_x_change = 0 
      elif event.key == pygame.K_DOWN: 
       lead_y_change = 10 
       lead_x_change = 0 
     if (lead_x < 0) or (lead_x >= 600) or (lead_y < 0) or (lead_y >= 800): 
      gameOver = True 

그래서, 계속 및 종료 일에 대한 Q 오지 않습니다에 대한 C 나는 키보드의 버튼을 누르거나 내 마우스를 이동 . 왜 그런가요?

+0

이미 문제를 해결 했습니까? –

답변

0

이동 : 이벤트가 일어난 경우에만 실행되므로 pygame.event.get -loop 중

if (lead_x < 0) or (lead_x >= 600) or (lead_y < 0) or (lead_y >= 800): 
     gameOver = True 

(마우스를 누르면, 키를 이동). 그렇지 않으면 코드가 사용자의 조치없이 수표에 도달하지 않습니다.

관련 문제