결과
개요
파이게임 모듈을 사용해 게임 만들기를 시작한다.
이번 실습은 기본 창 구성법이다.
1. 게임 자원, 동작을 관리하는 클래스를 생성한다.
2. 초기화에서 게임 창생성 등 기초 설정을 한다.
3. 게임의 메인 루프 메서드를 만든다. 무한 루프로 구성된다.
4. 클래스의 인스턴스를 생성 후, 메서드를 실행한다.
+ 챕터 12.3.3까지의 내용이다.
코드
import sys #모듈 임포트
import pygame #모듈 임포트
class AlienInvasion : #클래스 첫글자는 대문자. 함수처럼 괄호 X
"""게임 자원과 동작을 전체적으로 관리하는 클래스"""
def __init__(self) : # 인스턴스 생성시 자동실행 메소드. self는 인스턴스 자신을 지칭한다.
"""게임을 초기화하고 게임 자원을 만듭니다"""
pygame.init() # 파이게임 동작 초기화
self.clock = pygame.time.Clock() # pygame.time 모듈의 Clock 객체 생성
self.screen = pygame.display.set_mode((1200, 800)) #게임창 만들기. self.screen을 서피스라고 부른다.
pygame.display.set_caption("Alien Invasion")
# 배경색을 설정합니다.
self.bg_color = (230, 230, 230)
def run_game(self) :
"""게임의 메인 루프를 시작합니다"""
while True : # 무한 루프
# 키보드와 마우스 이벤트에 응답합니다.
for event in pygame.event.get() : # 이벤트 루프. 사용자 행동에 대응한다.
if event.type == pygame.QUIT :
sys.exit()
# 루프를 반복할 때마다 화면을 다시 그립니다.
self.screen.fill(self.bg_color)
# 가장 최근에 그린 화면 표시합니다.
pygame.display.flip() # 게임 화면 업데이트 하는 역할
self.clock.tick(60) # 게임 프레임 속도
if __name__ == '__main__' : #인터프리터에서 직접 실행된 경우에만 작동. 모듈로 임포트 되면 작동 X
ai = AlienInvasion()
ai.run_game()
'파이썬 (Python) > 파이썬 크래시 코스 - 에릭 마테스' 카테고리의 다른 글
[Python] 실습편 - 외계인 침공 : 불을 뿜는 우주선 5 (0) | 2024.03.22 |
---|---|
[Python] 실습편 - 외계인 침공 : 불을 뿜는 우주선 4 (0) | 2024.03.17 |
[Python] 실습편 - 외계인 침공 : 불을 뿜는 우주선 3 (0) | 2024.03.15 |
[Python] 실습편 - 외계인 침공 : 불을 뿜는 우주선 2 (0) | 2024.03.10 |
댓글