머신러닝

본문 바로가기

사이트 내 전체검색


7. Image의 위치를 키보드로 제어하기

페이지 정보

작성자 관리자 댓글 0건 조회 1,657회 작성일 21-02-17 14:25

본문

import pygame


# 스크린 전체 크기 지정

SCREEN_WIDTH = 400 

SCREEN_HEIGHT  = 500


# pygame 초기화

pygame.init() 

  

# 스크린 객체 저장

SCREEN = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))

pygame.display.set_caption("pygame test")


# FPS를 위한 Clock 생성

clock = pygame.time.Clock()


# 이미지 로딩 및 크기 변경

player = pygame.image.load("Player.png") 

player = pygame.transform.scale(player, (40, 102))


# 이미지의 Rect 정보를 저장

player_Rect = player.get_rect() 


# 이미지가 가운데 올 수 있도록 좌표값 수정

# python 3.8 이상에서 integer가 필요한 곳에 float가 들어가면 DeprecationWarning이 나옴. 

# 따라서 round() 처리를 해준다. 


player_Rect.centerx = round(SCREEN_WIDTH / 2)

player_Rect.centery = round(SCREEN_HEIGHT / 2) 


dx = 0 

dy = 0 


playing = True 

while playing:

    # 이벤트 처리 

    for event in pygame.event.get():

        if event.type == pygame.QUIT: 

            playing = False

            pygame.quit()

        # 키가 눌렸을 때 

        if event.type == pygame.KEYDOWN: 

            if event.key == pygame.K_LEFT:

                dx = -5

            if event.key == pygame.K_RIGHT:

                dx = 5

            if event.key == pygame.K_UP: 

                dy = -5

            if event.key == pygame.K_DOWN:

                dy = 5

        # 키가 떼졌을 때 

        if event.type == pygame.KEYUP:

            if event.key == pygame.K_LEFT:

                dx = 0

            if event.key == pygame.K_RIGHT:

                dx = 0

            if event.key == pygame.K_UP: 

                dy = 0

            if event.key == pygame.K_DOWN:

                dy = 0

    # 스크린 배경색 칠하기 

    SCREEN.fill((255, 255, 255)) 


    # 키에 의해 증가된 값을 이미지의 좌표에 적용시킨다. 

    player_Rect.x += dx 

    player_Rect.y += dy 


    # 스크린의 원하는 좌표에 이미지 복사하기, 좌표값은 Rect를 이용 

    SCREEN.blit(player, player_Rect) 


    # 작업한 스크린의 내용을 갱신하기

    pygame.display.flip() 


    # 1초에 60번의 빈도로 순환하기

    clock.tick(60) 



댓글목록

등록된 댓글이 없습니다.



개인정보취급방침 서비스이용약관
Copyright © www.leelab.co.kr All rights reserved.
상단으로
TEL. 063-469-4551 FAX. 063-469-4560
전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과
PC 버전으로 보기