python으로 게임 만들기/pygame

[pygame] 2. 배경화면과 캐릭터 설정

bay07 2024. 2. 24. 07:01

▶ 배경화면

배경화면을 넣는 방법은 2가지가 있다. 그림판으로 480 X 640 크기의 이미지를 만든 다음에

 pygame.image.load("C:/Users/경로/그림.png"

이렇게 직접 이미지를 불러오는 방법이 있다. 참고로 경로를 입력할 때, \ 역슬레시를 / 슬레시로 바꿔줘야한다. 이럴 경우에는 나중에 screen.blit(background, (0,0)) 이 코드를 통해서 배경을 나타내면 되는데, 여기서 (0,0)은 이미지를 어디에 넣을지 그 좌표값을 말한다. 

 

두번째 방법은 background = screen.fill((255,255,250)) 이렇게 화면 전체를 우리가 정한 RGB 값으로 채워주는 경우이다. 이 때는 배경을 불러올 때, print(background) 이렇게 배경을 프린트 해주면 된다. 

 

▶캐릭터

캐릭터의 경우는 그림판으로 사이즈를 조정한 뒤,  pygame.image.load("C:/Users/경로/그림.png") 이 방법을 사용하면 되는데 jpg나 png 파일 둘 다 가능하다. 이 후에 character_size = character.get_rect().size 를 통해서 캐릭터의 가로 세로 사이즈를 가져올 수 있다. 리스트의 형태로 저장이 되어있고 character_size[0]은 가로의 크기를 character_size[1]은 세로의 크기를 나타낸다 

 

#1. 배경화면 만들기

import pygame

pygame.init()

screen_width = 480
screen_height = 640
screen = pygame.display.set_mode((screen_width, screen_height))

pygame.display.set_caption("Let's make game")

# 배경 이미지 불러오기
# background = screen.fill((255,255,250))
background = pygame.image.load("C:/Users/Soyoung/Desktop/pygame/background.png")

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
             running = False
    # 내가 넣어줄 백그라운드 이미지를 넣어준다.
    # 그리고 그 이미지가 어디에 나타날 지 위치도 적어준다.
    # 배경화면 / 좌표값 (x좌표, y좌표)
    # blit은 백그라운드 이미지를 실제로 그려주는 역할을 한다
    screen.blit(background, (0,0))

    # 파이게임에서는 매번 화면을 새로 그려주는 동작을 해줘야한다.
    # 이걸 통해서 while 문을 돌면서 게임 화면을 다시 그려준다.
    pygame.display.update()


pygame.quit()

 

#2. 캐릭터 불러오기

import pygame

pygame.init()
screen_width = 480
screen_height = 640
screen = pygame.display.set_mode((screen_width, screen_height))

pygame.display.set_caption("Let's make game")
background = pygame.image.load("C:/Users/Soyoung/Desktop/pygame/background.png")

# 캐릭터 불러오기
character = pygame.image.load("C:/Users/Soyoung/Desktop/pygame/pika.jpg")
# 캐릭터의 크기를 알기 위한 것
# 캐릭터의 가로세로 길이를 알 수 있다.
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)
# 화면 세로의 제일 밑에 위치하도록 하기
# (0, 0) 좌표가 왼쪽 맨 위니까, 캐릭터 높이까지 높여줘야 얘가 보임
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.quit()

 

'python으로 게임 만들기 > pygame' 카테고리의 다른 글

[pygame] 5. FPS 설정1  (0) 2024.02.24
[pygame] 4. 배경화면 경계선 처리  (0) 2024.02.24
[pygame] 3. 키보드 이벤트  (0) 2024.02.24
[pygame] 1. 기본 설정  (0) 2024.02.24
[pygame] 0. 동기  (0) 2024.02.24