본문 바로가기

개발/Deep Learning

[Python] #01. 간단한 게임 만들기 (1)

1. pygame library 설치

 

2. 폴더 구성

 

3. import Test

우측 상단 클릭

 

4. 1_create_frame.py 입력

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") # 게임 이름

< 결과 >

창이 떴다가 사라짐,,,,ㅎㅅㅎ

 

5. 창이 유지되게 설정

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") # 게임 이름

# 프로그램이 종료되지 않도록 어디선가 대기
# 이벤트 루프
running = True # 게임이 진행중인가? 확인
while running:
    for event in pygame.event.get(): # 어떤 이벤트가 발생하였는가?
        if event.type == pygame.QUIT: # 창이 닫히는 이벤트가 발생하였는가?
            running = False # 게임이 진행중이 아님

# pygame 종료
pygame.quit()

 

 

6. 배경 넣어보기

그림판에서 색깔 지정해서 480 * 640 사이즈로 만들어준다.

경로는 Workspace 내에 만들어준다!

 

 

7. python 파일에서 배경 이미지를 불러오고, 배경 설정을 해준다.

png 경로를 쉽게 불러오려면, png 파일을 불러오고 우측 클릭 > copy path를 해주면 경로를 쉽게 불러올 수 있다.

 

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") # 게임 이름

# 배경 이미지 불러오기
background = pygame.image.load("D:\\PythonPracticeWorkspace\\Pythonworkspace\\pygame_basic\\background.png")

# 프로그램이 종료되지 않도록 어디선가 대기
# 이벤트 루프
running = True # 게임이 진행중인가? 확인
while running:
    for event in pygame.event.get(): # 어떤 이벤트가 발생하였는가?
        if event.type == pygame.QUIT: # 창이 닫히는 이벤트가 발생하였는가?
            running = False # 게임이 진행중이 아님
    
    # 배경 설정
    screen.blit(background, (0, 0)) # blit : 배경 그리기

    pygame.display.update() # 게임 화면을 다시 그리기(while 반복)

# pygame 종료
pygame.quit()

 

8. 배경을 넣었으니, 이제 캐릭터 역할을 할 이미지를 넣어보자

우선 그림판으로 캐릭터 역할을 해줄 조그만한 빨간 네모를 만들어주고

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") # 게임 이름

# 배경 이미지 불러오기
background = pygame.image.load("D:\\PythonPracticeWorkspace\\Pythonworkspace\\pygame_basic\\background.png")

# 캐릭터 스프라이트 불러오기
character = pygame.image.load("D:\\PythonPracticeWorkspace\\Pythonworkspace\\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_y_pos = screen_height - character_height # 화면 세로 크기 가장 아래에 해당하는 곳에 위치

# 프로그램이 종료되지 않도록 어디선가 대기
# 이벤트 루프
running = True # 게임이 진행중인가? 확인
while running:
    for event in pygame.event.get(): # 어떤 이벤트가 발생하였는가?
        if event.type == pygame.QUIT: # 창이 닫히는 이벤트가 발생하였는가?
            running = False # 게임이 진행중이 아님
    
    # 배경 설정
    screen.blit(background, (0, 0)) # blit : 배경 그리기

    screen.blit(character, (character_x_pos, character_y_pos)) # 캐릭터 그리기

    pygame.display.update() # 게임 화면을 다시 그리기(while 반복)

# pygame 종료
pygame.quit()

 

가운데에 정확하게 위치하지 않았으므로, 계산을 다시 조금 더 해줘야함

character_x_pos = (screen_width / 2) - (character_width / 2) # 화면 가로의 절반 크기에 해당하는 곳에 위치
character_y_pos = screen_height - character_height # 화면 세로 크기 가장 아래에 해당하는 곳에 위치

굿~~~~~~~~~~~~~~~~~