[Pygame] 05. 이미지 사용하기

2023. 2. 1. 11:41·Minding's Programming/Pygame
728x90
반응형

이 글은 아래 영상을 참고했다.

https://www.youtube.com/watch?v=CYmVcjIBlsM&list=PLz2iXe7EqJOMp5LozvYa0qca9E4OBkevW&index=5 

이번 시간에는 이미지를 불러오고, 화면에 적용시키는 방법을 배웠다.


import pygame

이미지 로드하기 및 배치하기

# 이미지 불러오기(load)
pygame.image.load('이미지 파일 경로')

# 이미지의 사이즈 가져오기(배경)
background.get_size()[0] # 가로
background.get_size()[1] # 세로

# 이미지의 사이즈 가져오기(객체)
이미지.get_rect().size[0] # 가로
이미지.get_rect().size[1] # 세로

# 이미지 적용하기
background.blit(이미지, 좌표)
pygame.init()

background = pygame.display.set_mode((818, 532)) # 배경 이미지에 맞추어 화면크기 설정함
pygame.display.set_caption('PYGAME_4')

# 이미지 파일 준비
image_bg = pygame.image.load('./image/stadium.png')
image_ball = pygame.image.load('./image/ball_small.png')
image_player = pygame.image.load('./image/player_small.png')

# 배경의 사이즈 가져오기
size_bg_width = background.get_size()[0]
size_bg_height = background.get_size()[1]

# ball의 사이즈 가져오기 (가로, 세로)
size_ball_width = image_ball.get_rect().size[0]
size_ball_height = image_ball.get_rect().size[1]

# ball의 좌표값 설정하기
x_pos_ball = 10 # x좌표 상 왼쪽 살짝 앞에 위치
y_pos_ball = size_bg_height/2 - size_ball_height/2 # y좌표 상 가운데 위치

# player의 사이즈 가져오기
size_player_width = image_player.get_rect().size[0]
size_player_height = image_player.get_rect().size[1]

# player의 좌표값 설정하기
x_pos_player = size_bg_width - size_player_width # x좌표 상 제일 끝(오른쪽)에 위치 / 가려지지 않도록 조정
y_pos_player = size_bg_height/2 - size_player_height/2 # y좌표 상 가운데 위치

play = True
while play:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            play = False
            
    # 이미지 삽입시에는 background.blit(이미지, 좌표) 사용
    background.blit(image_bg, (0,0))
    background.blit(image_ball, (x_pos_ball, y_pos_ball))
    background.blit(image_player, (x_pos_player, y_pos_player))
    pygame.display.update() # 업데이트 잊지 말기!
            
pygame.quit()

코드 실행 결과

  • 이미지의 중심좌표가 아닌 왼쪽 가장자리(0,0)를 기준으로 배치하게 됨
    • ex) 이미지를 x좌표 상 가운데 두고 싶다면
    • 배경의 width/2에서 이미지의 width/2만큼을 빼주어야 이미지를 가운데 위치시킬 수 있다.
728x90

'Minding's Programming > Pygame' 카테고리의 다른 글

[Pygame] 07. 이미지 벽에 닿았을 때 튕기기  (0) 2023.02.05
[Pygame] 06. 키보드와 마우스로 이미지 움직이기  (0) 2023.02.04
[Pygame] 04. 도형 그리기  (0) 2023.01.31
[Pygame] 03. 마우스로 조종하기  (0) 2023.01.30
[Pygame] 02. 키보드로 조종하기  (0) 2023.01.27
'Minding's Programming/Pygame' 카테고리의 다른 글
  • [Pygame] 07. 이미지 벽에 닿았을 때 튕기기
  • [Pygame] 06. 키보드와 마우스로 이미지 움직이기
  • [Pygame] 04. 도형 그리기
  • [Pygame] 03. 마우스로 조종하기
Minding
Minding
  • Minding
    Today's Minding
    Minding
  • 전체
    오늘
    어제
    • 울고넘는 딥러닝 (278)
      • Minding's Baseball (57)
        • MLB Statcast (29)
        • 머신러닝으로 홈런왕 예측하기 (3)
        • 야구칼럼 (12)
        • 야구 규칙, 용어 (1)
        • 2022-23 질롱 코리아 (8)
        • 류현진 등판경기 (4)
      • Minding's Programming (185)
        • 프로그래머스 코딩테스트 (21)
        • Knowledge (44)
        • Numpy & Pandas (6)
        • Excel (3)
        • Git (1)
        • Pygame (11)
        • CV (3)
        • Tensorflow tutorial (4)
        • Kaggle and Dacon (4)
        • 에러 코드 (8)
        • FastAPI (8)
        • Airflow (29)
        • Crawling (6)
        • Django (14)
        • AWS (18)
        • Spark (5)
      • Minding's Reading (30)
        • 머신러닝 딥러닝에 필요한 기초 수학 with 파이.. (2)
        • 칼만필터는 어렵지 않아 (11)
        • 밑바닥부터 시작하는 딥러닝 (6)
        • 메이저리그 야구 통계학 2e (8)
        • 논문읽기 (2)
        • 빅데이터를 지탱하는 기술 (1)
      • Minding's Life (5)
        • 주식 (4)
        • 각종 소식 (1)
  • 블로그 메뉴

    • 홈
    • Baseball
    • Programming
    • Reading
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    데이터 엔지니어
    메이저리그
    칼만필터는어렵지않아python
    칼만필터는어렵지않아
    파이썬게임개발
    에어플로우
    머신러닝
    KBO
    파이게임
    넘파이
    프로그래머스
    FastAPI
    pygame
    칼만필터
    MLB
    django
    게임개발
    mlb stats api
    django python
    파이썬
    AWS
    야구
    딥러닝
    KalmanFilter
    칼만필터는어렵지않아파이썬
    Python
    데이터분석
    코딩테스트
    질롱코리아
    Airflow
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Minding
[Pygame] 05. 이미지 사용하기
상단으로

티스토리툴바