본문 바로가기
Python

[Python] pygame 으로 벽돌깨기 만들기 part-4

by UnoCode 2020. 5. 24.

이번 시간에는

 

공을 치기 위한 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)

패달 움직이는 프레임 때문에 프레임 변경 소스코드를 추가 시켰으니

 

혼동 없으시길 바랍니다 .

 

결과 :

 

움직입니다. 믿...

 

댓글