Python

Python(6) 활용1

사회적가치누리 2024. 11. 4. 15:07
목차
1. 환경설정 & 프레임
2. 배경
3. 캐릭터

강좌는 "나도코딩" 님의 강좌를 보며 공부했습니다.

 

https://www.youtube.com/watch?v=Dkx8Pl6QKW0&t=1706s

 

 

파이썬에 대한 기초를 배워봤으니까

 

이제 배웠던걸 활용해볼 시간입니다.

 

1. 환경설정 & 프레임

 

우선 먼저 게임을 만들어 봅시다.

콘솔창에 pip install pygame 를 타이핑해서 pygame을 설치해줍시다.

저는 이미 깔려있습니다.

 

게임의 창을 띄어봅시다.

 

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()

 

 

2. 배경

 

게임의 배경을 만들어 봅시다.

 

그림판에서 가로 480 x 세로 640의 크기로 원하는 색깔로 페인트통으로 채워서 만들어줍시다.

 

만든 배경은 background.png로 저장합니다.

480 x 640 크기의 배경

 

그리고 저장경로는 지금 코딩하고있는 폴더 안에 넣어줍니다.

 

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("본인의 해당되는 경로")

# 이벤트 루프
running = True # 게임이 진행중인가?
while running:
    for event in pygame.event.get(): # 어떤 이벤트가 발생하였는가?
        if event.type == pygame.QUIT: # 창이 닫히는 이벤트가 발생하였는가?
            running = False # 게임이 진행중이 아님

    # screen.fill((0, 0, 255))
    screen.blit(background, (0,0)) # 배경 그리기

    pygame.display.update() # 게임 화면을 다시 그리기
# pygame 종료
pygame.quit()

 

경로를 찾는 방법은

 

오른쪽 클릭 후 Copy Path를 하고 배경 경로에 붙혀넣기

근데 이제 그대로 붙혀넣기를 하게되면

탈출문자 처리 때문에 \(역슬러시)앞에 \(역슬러시)를 한번 더 붙혀줘서 바꿀수도 있고요, \\

아니면 \대신 /(슬래시)로 바꾸셔도 됩니다.

 

예) C:\Users\이름\바탕 화면\Pyhon\paygame\background.png

 C:\\Users\\이름\\바탕 화면\\Pyhon\\paygame\\background.png

 C:/Users/이름/바탕 화면/Pyhon/paygame/background.png

 

 

 

3. 캐릭터

 

배경을 만들었던것과 마찬가지로

캐릭터도 그림판으로 만들어봅시다.

70 x 70

그리고 배경이 있는 경로에 이 character.png 캐릭터파일을 같이 넣어줍시다.

 

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("본인의 해당되는 경로")

# 캐릭터(스프라이트) 불러오기
character = pygame.image.load("본인의 해당되는 경로")
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 # 화면 세로 크기 가장 아래에 해당하는 곳에 위치 (세로)


# 이벤트 루프
running = True # 게임이 진행중인가?
while running:
    for event in pygame.event.get(): # 어떤 이벤트가 발생하였는가?
        if event.type == pygame.QUIT: # 창이 닫히는 이벤트가 발생하였는가?
            running = False # 게임이 진행중이 아님

    screen.blit(background, (0,0)) # 배경 그리기

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

    pygame.display.update() # 게임 화면을 다시 그리기
# pygame 종료
pygame.quit()

 

 

'Python' 카테고리의 다른 글

Python(8) 활용 3  (0) 2024.11.08
Python(7) 활용2  (0) 2024.11.05
Python(5) 기초 마무리  (0) 2024.11.03
Python(4) 반복문과 함수  (0) 2024.11.02
Python(3) 문자열 , 자료구조  (0) 2024.11.01