2011-12-04 6 views
1

오케이, 오버레이 화면을 만들고 싶습니다.파이 게임 오버레이

키 누르기 다음 페이지 화면이 일시 정지하고 화면이 말 팝업 그래서 때마다 ", 종료를 눌러 'Q'또는 'C'는 계속"그런 뭔가를.

아무도 말해 줄 수 있습니까?

답변

1

가장 쉬운 방법은 하위 모듈을 사용하고 blit()-이 일시 중지 메뉴에 대한 이벤트 처리 및 새 루프를 만드는 것입니다.

(이것은 단지 방법이다, 이것은 내 프로젝트를 작동하는 방법입니다.)

업데이트 : 13/12/11 다음 코드 발췌은 "부모"모듈에서입니다

. 이것은 코드의 루프 섹션에 불과합니다. 당신이 찾고있는 것은 라인 button.doAction(screen)입니다. 기본적으로 PyGame이 해당 서브 모듈을 실행하도록 지시합니다 (중요한 것은 아니며 평소처럼 "자식"함수를 호출하면됩니다).

while mainRunning: 

    # --- Event Catching & Handling --- 
    for event in pygame.event.get(): 
     # Quit PyGame safely upon exit 
     if event.type == pygame.QUIT: 
      mainRunning = False 

     # Make the buttons do actions 
     if event.type == pygame.MOUSEBUTTONUP: 
      mousePos = pygame.mouse.get_pos() 
      for button in menuList: 
       X = button.getXPos() 
       Y = button.getYPos() 
       if X[0] < mousePos[0] < X[1] and Y[0] < mousePos[1] < Y [1]: 
        button.doAction(screen) 

    pygame.display.flip() 

pygame.quit() 

그래서 우리는 우리가 원하는 함수가 playGame.levelChoose()이었다고 말한다면 -이 [서브 모듈] 기억 [기능] - 다음 "아이"의 루프는 다음과 같습니다.

def levelChoose(screen, playerData, playerName): 
    levelChooseRunning = True 

    while levelChooseRunning: 
     # --- Event Catching & Handling --- 
     for event in pygame.event.get(): 
      # Quit PyGame safely upon exit 
      if event.type == pygame.QUIT: 
       levelMenuRunning = False 

    pygame.display.flip() 

(물론 많은 코드가이 예제에서 제외되었으므로 전체 파일을 선택하려면 over here on GitHub입니다.

더 많은 질문이 있으면 알려주세요. 아마도 더 혼란 스러울 것입니다. ..

+0

빠른 코드 예제를 줄 수 있습니까? – bluesplay106

+0

죄송합니다. 너무 오래되었습니다, @ bluesplay106 - 답변을 수용하도록 업데이트되었습니다. – nchpmn