본문 바로가기
🐍 | Python/pygame

pygame_(2)_배경, 로고

by KASSID 2021. 11. 4.

목차

    728x90
    import pygame
    
    
    def main():
        pygame.init()
    
        # 타이틀
        pygame.display.set_caption("MYGAME") #게임 이름
    
    
        # 화면 크기 설정
        screen_width = 480 #가로 크기
        screen_height = 640 #세로 크기
        screen = pygame.display.set_mode((screen_width, screen_height))
        #screen = pygame.display.set_mode((480, 640))
    	
        # 로고 설정
        logo = pygame.image.load("로고 이미지 경로")
        pygame.display.set_icon(logo)
        
        # 배경 이미지 불러오기
    	background = pygame.image.load("배경 이미지 경로")  
    
        # 이벤트 루프
        running = True
        while running:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    running = False
            # screen.fill((0,0,255)) #RGB값 넣어주고 화면채우기
            screen.blit(background, (0, 0))		# 배경 그리기
            pygame.display.update()		#게임화면을 다시 그리기 (화면 계속 보여주기)
    
        # pygame 종료
        pygame.quit()
    
    
    
    if __name__ == '__main__':
        main()

     

     

     

    로고

    logo = pygame.image.load("로고 이미지 경로")
    pygame.display.set_icon(logo)

    로고변수에 이미지의 경로를 지정해 할당을 해준다.

    pygame.display.set_icon(로고변수) 를 통해 로고를 추가할 수 있다.

    요런 식으로 로고이미지를 추가할 수 있다.

     

     

     

     

    배경

    background = pygame.image.load(배경이미지경로)

    먼저, 배경도 로고와 마찬가지로 이미지경로를 입력해준다.

     

    pygame에는 surface라는 표면 개념이 있는데

    이미지를 로드했다면 이 '스크린 표면'에 '이미지 표면의 픽셀을' 복사해야 한다.

    그것이 '블리팅'을 하는 것이다.

    #이벤트 루프 안
    screen.blit(background, (0, 0))

    blit()함수는 한 표면에서 다른 표면으로 픽셀을 복사해주는 기능을 한다.

    배경 이미지 뿐만 아니라 화면에 이미지를 그려주고 싶을 때는 이 함수를 활용하면 된다.

     

    blit함수는 이미지변수와 (x좌표, y좌표)의 형태로 이미지 위치값을 튜플로 전달해주면 된다.

    좌표는 왼쪽 최상단이 (0,0) 이다.

    이미지는 설정한 좌표 기준으로 오른쪽&아래로 펼쳐진다.

    따라서 배경은 스크린에 꽉 차도록 그릴 예정이므로

    0,0을 좌표값으로 넣어주면 된다.

     

    #이벤트 루프 안
    pygame.display.update()

    활성화된 창의 화면을 계속해서 업데이트를 해주어야

    사용자가 이미지를 볼 수 있다.

     

    이미지를 블리팅할 때 주의할 점

    순서대로 화면에 그려지기 때문에

    배경 -> 이미지 순으로 코드를 작성해 주어야 한다.

     

     

    이미지를 로드하는 방법 이외에도

    RGB값을 적용하여 화면을 채우는 방법이있다.

    screen.fill((R,G,B)) #0~255사이의 값

     

    '🐍 | Python > pygame' 카테고리의 다른 글

    pygame_(3)_스프라이트(캐릭터)  (0) 2021.11.05
    pygame_(1)_프레임  (0) 2021.11.04
    pygame  (0) 2021.11.03

    댓글