강의자료/텍스트기반SW

[파이썬] 파이게임 사용법

원당컴1 2023. 7. 21. 12:17

파이게임이란

파이게임(Pygame)은 파이썬 개발자를 위한 게임엔진이다.

강력하고 사용하기 쉽고 오픈소스이다.

 

파이게임 사용법 살펴 보기

 

1. 파이게임 설치하기

- 이 프로그램은 파이참을 이용하여 실습을 진행하고 있습니다. 

- terminal 에서 다음의 명령을 실행합니다.

pip install pygame

※ 만약 에러가 난다면 pycharm을 관리자권한으로 실행하여 설치해 봅니다.

2. 파이게임 초기화하기

import pygame

#파이게임 초기화하기
pygame.init()

파이게임을 사용하기 위해서는 파이게임을 초기화 해야 한다.

3. 디스플레이 결정하기

# 게임 화면 초기화 하기
screen = pygame.display.set_mode((500,800))

화면 크기를 set_mode( (넓이,높이) ) 형태로 설정한다.

4. 윈도우 타이틀 설정하기

#제목 표시줄 설정하기
pygame.display.set_caption("pygame test")

5. 프레임레이트 설정하기

프레임레이트는 1초당 화면을 몇번 업데이트 할 것인지를 설정한다.

따라서 숫자가 클 수록 화면이 부드러워 지지만 CPU 점유율은 높아진다.

#프레임 매니저 초기화하기
clock = pygame.time.Clock()
#프레임 레이트 설정하기
clock.tick(60)

프레임 레이트를 설정하기 위해서는 프레임매니저를 초기화 해야 한다.

6. 배경색상 설정하기

#배경색상 설정하기
screen.fill((255,255,255))

색상은 R,G,B 형태의 튜플 형태이다.

7. 화면 업데이트하기

#화면 업데이트하기
pygame.display.update()

화면을 현재 상태로 다시 그려 준다. 어떤 픽셀 값이 변했을 때 마다 화면에 현재 상태의 값으로 그려줘야 한다.

여기까지 코딩 후 실행을 하면 번쩍하고 사라진다. 왜냐면 pygame 자체가 실행 되면서 바로 종료하기 때문이다.

그렇다면 화면이 유지하기 위해서는 다음과 같이 무한 반복을 하면서 유지를 해 주어야 한다.

8. 화면 띄우기

while True:
    #이벤트 확인하기
    for event in pygame.event.get():
        #닫기 버튼을 눌렀는지
        if event.type == pygame.QUIT:
            #게임 끝내기
            pygame.quit()
            sys.exit()
    #화면 업데이트하기
    pygame.display.update()
    #프레임 레이트 설정하기
    clock.tick(60)

pygame.event.get() 은 키보드 혹은 마우스 이벤트 발생 값을 리스트 형태로 반환한다.

창 오른쪽 닫기아이콘 X를 누르면 QUIT 이벤트가 발생된다.

실행을 해 보면 다음과 같이 배경이 흰색으로 떠 있는 것을 확인 할 수 있다.

 

pygame 키보드 이벤트

 

출처 : https://parkjh7764.tistory.com/89

 

다음에는 오늘 배운 것을 활용해서 플레이어를 만들어 보고 이동시키는 부분을 살펴 보겠습니다.

 

참고 사이트

https://parkjh7764.tistory.com/89

 

[Python] pygame 모듈 게임 만들기(2) / 파이썬 캐릭터 이동 및 이동속도 조절 / fps 설정 pygame.time.Clock()

이전 글에 이어서 작성하도록 하겠다. 이전 글은 아래에 첨부할테니, 혹시나 이전부터 참고하고자 한다면 이전 글을 참고해주길 바란다.\ [Python] pygame 모듈 / 파이썬 게임 배경 및 캐릭터 설정하

parkjh7764.tistory.com

 

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기