pygame.Surface 모듈

Eunjung-Cho·2021년 6월 6일
1

1. Surface란

  • 모든 2D객체 (스크린, 배경 이미지, 게임 캐릭터 등)
  • 색이나 이미지를 가지는 빈 시트

2. Surface 생성

# pygame.Surface((너비, 높이))

size = (너비, 높이) = (32, 32)
empty_surface = pygame.Surface(size)

3. blitting (블릿팅)

  • 특정 서피스의 픽셀값들을 다른 서피스로 복사하는 것
  • 서피스들을 다른 서피스에 디스플레이 하기 위해서 필요
  • 서피스에 블리팅된 모습 디스플레이:
pygame.display.filp()
#또는
pygame.display.update()

4. Surface를 blitting 하기

서피스객체.blit(src_surface,position)
# 스크린 사이즈 설정
size = (width, height) = (640, 480)
# 스크린 불러오기
screen = pygame.display.set_mode(size)
# 위치 설정
p_pos = (x, y) = (20, 30)
# 이미지 불러오기
penguin_img = pygame.image.load("penguin.png").convert()

#불러온 이미지를 설정한 위치에 blit시키기
screen.blit(penguin_img, p_pos)
#blit된 것 디스플레이 시키기
pygame.display.flip()

5. Surface 주요 메서드

blit 메서드

# src 서피스를 pos에 그리기
blit(src, pos)
# src 서피스들을 pos에 그리기
blit((src,pos), (src,pos), ...)

fill 메서드

# 지정된 색(r,g,b)으로 색 채우기
fill((r,g,b))

convert() 메서드

  • 디스플레이 서피스와 동일한 픽셀 형식의 서피스 복사본 반환해주는 메서드
# 투명하지 않은 부분을 가지고 있는 이미지 convert시키기
pygame.image.load(image_path).convert()

# 투명한 부분을 가지고 있는 이미지 conver 시키기
pygame.image.load(image_path).convert_alpha()

get_rect 메서드

# 서피스 영역에 대한 rect 객체 반환 - 기준점 좌표(좌측상단), 폭, 높아
get_rect()

get_size 메서드

# 서피스의 (폭, 높이) 반환 -> 폭과 높이는 튜플 형태이다. 
get_size()
profile
IT컨설팅 데이터 분석가

0개의 댓글