이번 시간에는
공을 치기 위한 Paddle 생성 및 패달을 움직일 수 있는 코드를 추가해보겠습니다.
import pygame, sys # 파이썬 게임 묘듈 import
from pygame.locals import *
# 설정
pygame.init() # 파이 게임 초기화
screen = pygame.display.set_mode((480, 320)) #화면 크기 설정
pygame.display.set_caption('벽돌깨기') # 타이틀 제목
clock = pygame.time.Clock()
pygame.key.set_repeat(1, 1)
# 색깔 변수
BLACK = ( 0, 0, 0)
WHITE = (255,255,255)
RED = (255, 0, 0)
GREEN = ( 0,255, 0)
BLUE = ( 0, 0,255)
# 공 변수
x = int(480 / 2)
y = 320 - 30
dx = 10
dy = 10
# 패달 변수
paddleHeight = 10
paddleWidth = 75
paddleX = (480-paddleWidth) / 2
paddle = pygame.Rect(paddleX,320-paddleHeight-10,paddleWidth,paddleHeight)
# draw 함수 정의
def drawBall():
pygame.draw.circle(screen,(0, 221, 149),(int(x),int(y)),7)
def drawPaddle():
pygame.draw.rect(screen,(0,221,149),paddle)
def draw():
screen.fill(BLACK)
drawBall()
while True:
# 이벤트 처리
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
#키 이벤트 처리
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
paddle.left -= 10
elif event.key == pygame.K_RIGHT:
paddle.right += 10
# 그리기 함수 호출
draw()
drawPaddle()
# 공과 벽돌 충돌 검사
if x + dx > 480-7 or x + dx < 7:
dx = -dx
if y + dy > 320-7 or y + dy < 7:
dy = -dy
# 공 이동
x += dx
y += dy
# 모듈 갱신
pygame.display.update()
#프레임 변경
clock.tick(30)
패달 움직이는 프레임 때문에 프레임 변경 소스코드를 추가 시켰으니
혼동 없으시길 바랍니다 .
결과 :
'Python' 카테고리의 다른 글
[Python] pygame 으로 벽돌깨기 만들기 part-6 (0) | 2020.05.24 |
---|---|
[Python] pygame 으로 벽돌깨기 만들기 part-5 (0) | 2020.05.24 |
[Python] pygame 으로 벽돌깨기 만들기 part-3 (0) | 2020.05.24 |
[Python] pygame 으로 벽돌깨기 만들기 part-2 (0) | 2020.05.24 |
[Python] pygame 으로 벽돌깨기 만들기 part-1 (0) | 2020.05.24 |
댓글