import pygame
import os
# 0. 제일 먼저 해야되는 것들
# 기본 초기화
pygame.init()
# 화면 크기 설정
# 화면 타이틀 설정
# FPS 설정
# 1. 사용자 게임 초기화 (배경 화면, 게임 이미지, 좌표, 속도, 폰트 등 )
while running:
# 2. 이벤트 처리(키보드, 마우스 등)
# 3. 게임 캐릭터 위치 정의
# 4. 충돌 처리
# 5. 화면에 그리기
pygame.quit()
os는 (OS: Operating System)으로 디렉터리, 파일 등등 제어하는 모듈이다
여기서는 디렉터리를 추출하거나 경로를 생성하는데 쓰인다
위의 주석처리들이 게임 만들 때 뼈대라고 할 수 있다
# 0. 제일 먼저 해야 되는 것들
import pygame
import os
##########################################################################
# 기본 초기화(반드시 해야 하는 것들)
pygame.init()
# 화면 크기 설정
screen_width = 640 #가로
screen_height = 480 # 세로
screen = pygame.display.set_mode((screen_width, screen_height))
# 화면 타이틀 설정
pygame.display.set_caption("Nado Pang")
# FPS
clock = pygame.time.Clock()
pygame.init()으로 초기화해주고
화면 크기를 설정해준다
pygame.time.Clock -> 게임 루프의 주기를 결정할 객체
기본 초기화
current_path = os.path.dirname(__file__) #현재 파일의 위치 반환
image_path = os.path.join(current_path, "images")# images 폴더 위치 반환
# 배경 만들기
background = pygame.image.load(os.path.join(image_path, "background.png"))
#스테이지 만들기
stage = pygame.image.load(os.path.join(image_path, "stage.png"))
stage_size = stage.get_rect().size
stage_height = stage_size[1] #스테이지 높이 위에 캐릭터 두기 위해 사용
#캐릭터 만들기
character = pygame.image.load(os.path.join(image_path, "character.png"))
character_size = character.get_rect().size
character_width = character_size[0]
character_height = character_size[1]
character_x_pos = (screen_width / 2) - (character_width / 2)
character_y_pos = screen_height - character_height - stage_height
이미지들은 그림판에서 간단히 만들면 된다
background.png-> 640 * 480 (가로 세로 (단위:px))
stage.png -> 640 * 50
character.png -> 60 * 33
weapon.png -> 20 * 430
ballon1~4.png -> 160 * 160, 80 * 80, 40 * 40, 20 * 20
각각 만들고 나서 pygame.image.load로 이미지를 가져와 줘야 한다
get_rect() -> x, y좌표 크기 정보를 가지고 있음
character_x_pos -> 현재 위치, 가운데
character_y_pos -> stage 위에 서있음
# 캐릭터 이동 방향
character_to_x = 0
# 캐릭터 이동 속도
character_speed = 5
캐릭터 이동 방향, 이동 속도 초기 설정을 해준다.
캐릭터 이동 설정
running = True
while running:
dt = clock.tick(30)
# 2. 이벤트 처리 (키보드, 마우스 등)
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT: # 캐릭터를 왼쪽으로
character_to_x -= character_speed
elif event.key == pygame.K_RIGHT: # 캐릭터를 오른쪽으로
character_to_x += character_speed
if event.type == pygame.KEYUP: # 키 뗐을 때 멈춤
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
character_to_x = 0
화면에 구현
while 안에 이어서 작성한다( for문에 줄 맞춰서)
# 화면에 그리기
screen.blit(background, (0, 0))
screen.blit(stage, (0, screen_height - stage_height))
screen.blit(character, (character_x_pos, character_y_pos))
pygame.display.update()
좌표는 게임 창의 왼쪽 끝부분이 (0,0)이다
코드 끝에 pygame.quit() 써준다
'개발' 카테고리의 다른 글
📖React 시작, 배운것들 기록 (0) | 2020.08.05 |
---|---|
📖자바스크립트 Array 배운것들 정리 (0) | 2020.08.02 |
👊파이썬 오락실 게임 만들기 프로젝트 #Intro👊 (0) | 2020.07.27 |
💻정적 웹사이트 클론 코딩 프로젝트 #3(마무리)💻 (0) | 2020.07.26 |
💻정적 웹사이트 클론 코딩 프로젝트 #2💻 (0) | 2020.07.24 |