카테고리 없음
기초 파이게임 키보드 조작 코드 해설
abccoco
2022. 4. 27. 22:25
오늘은 파이 게임을 만들어 봤다
파이게임 기초 셋팅 코드와
키보드로 조정하는 법을 코드와 해설 주석으로 남겼다
import pygame
# 이건 파이게임 시작할때 필수입니다
pygame.init()
# 이 코드는 파이선 게임 실행할때 display 창의 크기를 설정하는 것입니다
background = pygame.display.set_mode((480, 360))
pygame.display.set_caption('pygame의 제목')
#
# x,y 좌표를 만들어 준것인데 background의 size를 get하면 튜플 형테로 값을 받게 된다 그리고 그 튜플형테의 0번째는 x_pos에 넣고 1번째는 y_pos에 넣게 된다
# 튜플 형태에서 0번째는 파이게임 백그라운드에서 x축 1번째는 y축과 같기 때문이다 나누기 2를 한 이유는 가운데 x,y축의 가운데에 오게 하기 위해서다
x_pos = background.get_size()[0]//2 #240
y_pos = background.get_size()[1]//2 #180
fps = pygame.time.Clock()
to_x = 0
to_y = 0
#play가 ture일때 라는뜻
play = True
# while문을 사용하지 않으면 pygame가 종료 된다 while문을 사용해주므로서 게임이 지속된다(게임 창을 지속적으로 작동하기 위해 필요함)
while play:
deltaTime = fps.tick(60)
# pygame의 event가 있다면 get 즉 가져와 event에 하나하나 넣는다(반복문)
for event in pygame.event.get():
# 만약 현재 발생한 event의 type이 pygame을 그만하라는 QUIT(종료명령)명령이 있다면
if event.type == pygame.QUIT:
# 현제 게임을 돌아가게 하는 조건인 while문의 조건! 바로 play = Ture를 False로 바꾸어라 이러면 while문에서 빠져 나온다
# 설명을 덧붙이자면 while문을 사용하면 while 구간에서 계속 코드가 반복되니 while 구간 밖의 코드가 읽혀지지 않는것 같다
play = False
# 만일 event type이 키보드를 와 같다면 다시말해 키보드를 누르면 같겠죠?
if event.type == pygame.KEYDOWN:
# event key가 화살표 위 키를 누른것과 같다면
if event.key == pygame.K_UP:
# to_y에 -5를 넣는다 누른값은 아래쪽에 적은 변수 x_pos += to_x 와 y_pos += to_y에 누적이 됩니다
to_y = -5
elif event.key == pygame.K_DOWN:
to_y = 5
elif event.key == pygame.K_RIGHT:
to_x = 5
elif event.key == pygame.K_LEFT:
to_x = -5
# 만약 event type이 키보드를 땐것과 같다면
if event.type == pygame.KEYUP:
if event.key == pygame.K_UP:
# to_y의 값이 0으로 바뀌게 된다 이러면 x,y축의 움직임이 멈추게 된다
to_y = 0
elif event.key == pygame.K_DOWN:
to_y = 0
elif event.key == pygame.K_RIGHT:
to_x = 0
elif event.key == pygame.K_LEFT:
to_x = 0
# x, y축의 숫자 누적한다, 키보드를 꾹누르면 계속 누적 된다
x_pos += to_x
y_pos += to_y
# 백그라운드 배경 fill(채우겠다) 이 색으로 라는 뜻
background.fill((255, 255, 255))
# pygame.draw.circle - 이 코드는 공을 그려주는 코드다
# pygame.draw.circle(surface, color, center, radius)라는 의미이다
pygame.draw.circle(background, (0, 0, 0), (x_pos, y_pos), 10)
pygame.display.update()
# pygame 종료 코드, 이로써 파이게임 창의 종료버튼 X버튼을 누르면 게임 창이 종료된다
pygame.quit()