2014-05-23 9 views
1

이 객관식 프로그램을 만들고 있지만, 입력 한 후에 만 ​​마우스 이벤트가 작동해야합니다. 파이 게임 마우스 버튼이 작동하지 않습니다.

for event in pygame.event.get(): # If user did something 
     if event.type == pygame.QUIT: # If user clicked close 
      done = True 
     elif event.type == pygame.KEYDOWN: # If user pressed a key 
      if event.key == pygame.K_RETURN: # If user pressed enter 
       # Makes the start screen go away 
       enter_pressed = True 
       # Increments question_number 
       question_number += 1 

       # Where I Draw the question screen 

그런 다음 아래 아래로 난이 있습니다 :

여기 내 코드입니다

   for event in pygame.event.get(): # If user did something 
        if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1: 
         print("Derp") 

내가 마우스 왼쪽 버튼을 누르면 DERP가 인쇄되지 않습니다. 는 그러나, 나는이 때이 같은 들여 쓰기 : 나는 당신을 눌렀 입력 처리 여부를 나타내는 boolean를 사용할 수있는 마우스 왼쪽 버튼을

답변

2

을 누르면

for event in pygame.event.get(): # If user did something 
     if event.type == pygame.QUIT: # If user clicked close 
      done = True 
     elif event.type == pygame.KEYDOWN: # If user pressed a key 
      if event.key == pygame.K_RETURN: # If user pressed enter 
       # Makes the start screen go away 
       enter_pressed = True 
       # Increments question_number 
       question_number += 1 

       # Where I Draw the question screen   

     elif event.type == pygame.MOUSEBUTTONDOWN and event.button == 1: 
         print("Derp") 

DERP 인쇄 작업을 수행합니다.

for event in pygame.event.get(): # If user did something 
    enter_pressed = False 
    if event.type == pygame.QUIT: # If user clicked close 
     done = True 
    elif event.type == pygame.KEYDOWN: # If user pressed a key 
     if event.key == pygame.K_RETURN: # If user pressed enter 
      # Makes the start screen go away 
      enter_pressed = True 
      # Increments question_number 
      question_number += 1 

      # Where I Draw the question screen   

    elif event.type == pygame.MOUSEBUTTONDOWN and event.button == 1 and enter_pressed: 
        print("Derp") 

나는 문제가 당신이 모든 이벤트를 통해 반복하고, 그 루프 내에서 당신이 (다시) 모든 이벤트를 통해 반복되고, 그에서 말하기 어렵다

+0

감사합니다. – jason97931

0

몇 가지 문제를 일으키는이라고 생각 니가 말했던,하지만 나는 너에게 몇 가지 권고안을 가지고있다. 먼저 derp가있는 for 루프가 if 문에 포함되지 않도록 if 문에 없는지 확인하십시오. 둘째, 게임 루프 당 한 번 pygame.event.get()으로 전화를 걸면 코드가 두 통의 전화는 모두가 아닙니다. 이 두 가지가 작동하지 않으면 전체 코드를 게시하십시오.