
pygame.Surface 객체의 set_alpha() 함수로 surface의 투명도 설정이 가능하다.
아래의 이미지는 투명도(alpha)가 서로 다른 6개의 surface를 화면에 표시한 결과이다.

<코드 1>
# python 3.9.6
# pygame 2.0.1
import pygame
def main():
pygame.init()
screen = pygame.display.set_mode((640, 480), flags=pygame.NOFRAME)
clock = pygame.time.Clock()
screen.fill('white')
surf1 = pygame.Surface((100, 100))
surf1.fill('blue')
screen.blit(surf1, (50, 50))
surf1.set_alpha(50)
screen.blit(surf1, (50, 200))
surf2 = pygame.Surface((100, 100)).convert_alpha()
surf2.set_alpha(255)
surf2.fill('blue')
screen.blit(surf2, (200, 50))
surf2.set_alpha(150)
surf2.fill('blue')
screen.blit(surf2, (200, 200))
surf2.set_alpha(50)
surf2.fill('blue')
screen.blit(surf2, (200, 350))
surf3 = pygame.Surface(size=(100, 100), flags=pygame.SRCALPHA, depth=32)
surf3.set_alpha(128)
surf3.fill('blue')
screen.blit(surf3, (350, 50))
pygame.display.update()
pygame.event.clear()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT\
or (event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE):
running = False
break
if not running:
break
clock.tick(30)
pygame.quit()
if __name__ == '__main__':
main()
각 surface의 투명도 alpha 값은 get_alpha() 함수로 확인할 수 있다.
'코딩 > 파이썬 pygame' 카테고리의 다른 글
| 파이썬 게임 015. pygame의 게임 화면 크기 (display size) (0) | 2021.10.11 |
|---|---|
| 파이썬 게임 014. pygame에서 지원하는 색상 이름 (color name) (0) | 2021.10.09 |
| 파이썬 게임 013. Pygame Documentation Summary (0) | 2021.10.07 |
| 파이썬 게임 012. pygame.image.load 함수로 이미지 불러와 게임 화면에 그리고 pygame.image.save 함수로 게임 화면 저장하기 (0) | 2021.10.05 |
| 파이썬 게임 011. pygame.draw 모듈로 그외 도형 그리기 (타원, 다각형, 타원호) (0) | 2021.10.03 |