이 프로젝트는 인프런의 파이썬 게임 만들기의 강의를 듣고 정리하는 게시글이다.
import pygame
pygame.init() # 초기화(반드시 필요)
# 게임 화면 크기 설정
screen_width = 480
screen_height = 640
screen = pygame.display.set_mode((screen_width, screen_height))
# 화면 타이틀 설정
pygame.display.set_caption("Nado Game")
# FPS 설정
clock = pygame.time.Clock()
# 배경 이미지 불러오기
background = pygame.image.load("/Users/choewonjun/PycharmProjects/game_/pygame_basic/background.jpeg")
# 캐릭터(스프라이트) 불러오기
character = pygame.image.load("/Users/choewonjun/PycharmProjects/game_/pygame_basic/character.png")
character_size = character.get_rect().size # 이미지 크기를 구해옴
character_width = character_size[0] # 캐릭터의 가로크기
character_height = character_size[1] # 캐릭터의 세로크기
character_x_pos = (screen_width / 2) - (character_width / 2)# 화면 가로의 절반 크기에 해당하는 곳에 위치 (가로)
character_y_pos = screen_height - character_height# 화면 가장 아래에 위치 (세로)
# 이동할 좌표
x_to = 0
y_to = 0
# 이벤트 루프
running = True # 게임이 진행중인가?
while running:
df = clock.tick(30) # 게임 프레임 설정
# 게임에서 이벤트가 발생할 때
for event in pygame.event.get():
if event.type == pygame.QUIT: # 창 닫기 버튼을 눌렀을 떄
running = False
if event.type == pygame.KEYDOWN: # 키를 눌렀을 때
if event.key == pygame.K_LEFT:
x_to -= 5
elif event.key == pygame.K_RIGHT:
x_to += 5
elif event.key == pygame.K_UP:
y_to -= 5
elif event.key == pygame.K_DOWN:
y_to += 5
if event.type == pygame.KEYUP: # 키를 눌렀다가 뗐을 때
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
x_to = 0
if event.key == pygame.K_DOWN or event.key == pygame.K_UP:
y_to = 0
character_x_pos += x_to
character_y_pos += y_to
# 가로 경계값 처리
if character_x_pos < 0 :
character_x_pos = 0
elif character_x_pos > screen_width - character_width:
character_x_pos = screen_width - character_width
# 새로 경계값 처리 (아래로 갈수록 y값은 커짐)
if character_y_pos < 0 :
character_y_pos = 0
elif character_y_pos > screen_height - character_height:
character_y_pos = screen_height - character_height
# 배경 이미지 설정
# screen.fill((0,0,255)) rgb값으로 배경을 설정할 수 있음
screen.blit(background, (0, 0))
# 캐릭터 그리기
screen.blit(character, (character_x_pos, character_y_pos))
# 게임 화면을 다시 그리기
pygame.display.update()
# 게임 종료
pygame.quit()
'풍선 터트리기 게임' 카테고리의 다른 글
게임 만들기 (4) - FPS 설정 (0) | 2021.05.12 |
---|---|
게임 만들기 (3) - 충돌설정 (0) | 2021.05.09 |
게임 만들기 (2) - FPS 설정 (0) | 2021.05.09 |