안녕하세요~ 잭피입니다!
파이썬의 pygame 모듈을 이용해서 게임을 만들어볼까요?
오늘은 비행기게임 - (2) 비행기 띄우기
를 진행해볼게요
import pygame
pygame.init()
size = [500, 700]
screen = pygame.display.set_mode(size)
title = "미사일 게임"
pygame.display.set_caption(title)
clock = pygame.time.Clock()
###### 문제 1. 이미지를 가져오고 비행기 크기를 조절해보세요 #######
### [코드작성]
###### 문제 2. 이미지를 아래 중앙으로 이동시켜보세요 #######
### [코드작성]
ss_x, ss_y = plane.get_size()
plane_x = round(size[0]/2) / 2
plane_y = size[1] - 15
black = (0,0,0)
SB = 0
while SB == 0:
clock.tick(60)
for event in pygame.event.get():
if event.type == pygame.QUIT:
SB = 1
###### 문제 3. 이미지를 그려보세요 #######
### [코드작성]
pygame.display.flip()
# 5. 게임 종료
pygame.quit()
1. 이미지 가져오기 & 크기 조정하기
# 해당 경로에서 비행기 이미지를 가져옵니다
plane = pygame.image.load("/Users/js/Desktop/수업자료/python/비행기.png").convert_alpha()
# (80,80) 크기로 비행기 크기를 조절합니다
# 숫자를 바꿔보면서 적절한 비행기 크기를 맞춰주세요
plane = pygame.transform.scale(plane, (80, 80))
💡 png 형태의 파일은 .convert_alpha()를 추가해줘야 합니다
2. 이미지를 중앙으로 가져오기
적당한 비행기 크기를 만들었으면 이제 중앙으로 위치해봅시다
# 가져온 이미지의 가로, 세로를 ss_x, ss_y에 저장합니다
ss_x, ss_y = plane.get_size()
# plane_x = 가로의 중앙값 - 비행기의 중앙값
plane_x = round(size[0]/2) - ss_x / 2
# plane_y = 세로값 - 비행기의 세로값 - 15(여유를 살짝 주기위한 값)
plane_y = size[1] - ss_y - 15
3. 이미지 그리기
이제 이미지를 그려볼까요?
# 배경색상을 검은색으로 변경합니다
screen.fill(black)
# 비행기 이미지와 위치를 지정합니다
screen.blit(plane, (plane_x, plane_y))
전체 코드
# 2강 - 비행기 띄우기
import pygame
# 1. 게임 초기화
pygame.init()
# 2. 게임창 옵션 설정
size = [500, 700]
screen = pygame.display.set_mode(size)
title = "미사일 게임"
pygame.display.set_caption(title)
# 3. 게임 내 필요한 설정
clock = pygame.time.Clock() # FPS를 위한 변수
plane = pygame.image.load("/Users/js/Desktop/수업자료/python/비행기.png").convert_alpha()
plane = pygame.transform.scale(plane, (80, 80))
# 중앙으로
ss_x, ss_y = plane.get_size()
plane_x = round(size[0]/2) - ss_x / 2
plane_y = size[1] - ss_y - 15
# 검정색 배경화면
black = (0,0,0)
# 4. 메인 이벤트
SB = 0
while SB == 0:
# 4-1. FPS 설정
clock.tick(60) # 1초에 60번 while문 반복
# 4-2. 각종 입력 감지
for event in pygame.event.get():# 키보드나 마우스의 동작을 받아옴
if event.type == pygame.QUIT: # 게임 종료
SB = 1
# 4-3. 입력, 시간에 따른 변화
# 4-4. 그리기
screen.fill(black)
screen.blit(plane, (plane_x, plane_y))
# 4-5. 업데이트
pygame.display.flip()
# 5. 게임 종료
pygame.quit()
'Python > Pygame' 카테고리의 다른 글
[Pygame] Python(파이썬)으로 비행기 게임만들기 - (6) 외계인 생성 (0) | 2022.12.11 |
---|---|
[Pygame] Python(파이썬)으로 비행기 게임만들기 - (5) 미사일 발사하기 (0) | 2022.12.11 |
[Pygame] Python(파이썬)으로 비행기 게임만들기 - (4) 비행기 움직이기 (0) | 2022.12.09 |
[Pygame] Python(파이썬)으로 비행기 게임만들기 - (3) 클래스와 함수로 분리해보기 (0) | 2022.12.07 |
[Pygame] Python(파이썬)으로 비행기 게임만들기 - (1) 화면 색상 바꾸기 (0) | 2021.12.24 |
댓글