pygame은 스크린에 뭔가를 그리는 함수가 매우 다양하다.
대표적으로 많이 사용하는 것은 pygame.draw류에 속하는 함수나 blit,fill 등을 사용하여 사진 등을 띄우는데에 사용한다.
그리기 순서 예를 이해하기 위한 코드 예시
import pygame
import sys
WHITE=(255,255,255);RED=(255,0,0)
BLUE=(0,0,255);GREEN=(0,255,0)
screenw,screenh=300,300
def main():
pygame.init()
screen=pygame.display.set_mode((screenw,screenh))
pygame.display.set_caption("drawing order ex")
while True:
for event in pygame.event.get():
if event.type==pygame.QUIT:
pygame.quit()
sys.exit()
screen.fill(WHITE)#이전 프레임을 지우고 배경을 흰색으로 설정.(이렇지 않다면 기본은 BLACK임)
pygame.draw.rect(screen,RED,(50,50,200,200))#빨간색 사각형을 먼저 그림
pygame.draw.circle(screen,BLUE,(150,150),100)#파란색 원이 빨간 사각형 위에 그려짐
#초록색 선이 가장 마지막에 그려져 모든 요소 위에 표시
pygame.draw.line(screen,GREEN,(50,50),(250,250),5)
pygame.display.update()
if __name__ == "__main__":
main()
이 코드를 통해 pygame은 화면에 그리는 모든 요소를 코드에서 호출된 순서대로 처리한다는 것을 알 수 있다.
나중에 호출된 그리기 함수일수록 앞에 호출된 요소들을 덮어쓰게 된다.
이 특징을 활용하면 레이어를 조정하거나 의도적인 겹침을 구현할 수 있다.
필자의 경우 이 특성을 활용해 스킬 쿨타임 UI를 만드는데 유용하게 사용했다. 이미지(img를 blit) 말고는 모두 draw함수 및 font.render를 사용했다. |
'python study > import pygame' 카테고리의 다른 글
python)pygame, font(+개행문자 문제 해결 방법) 텍스트 띄우기(2) (0) | 2024.12.27 |
---|---|
python)pygame, font(+한글 띄우기) 텍스트 띄우기(1) (0) | 2024.12.26 |
python)pygame에서 동적 그림 처리, 제대로 이해하기 (0) | 2024.12.25 |
python)pygame 좌표계의 특성과 컴퓨터 화면 스캔 방식 이해 (0) | 2024.12.23 |
python) pygame 도형 그리기 모음 (1) | 2024.12.21 |