본문 바로가기
Python

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

by UnoCode 2020. 5. 24.

이번시간에는

 

간단한 충돌 감지를 하겠습니다. ~~

 

 

 

공을 벽에 튕기기

공이 움직이는 걸 보니 기쁩니다! 하지만 기쁨을 즐길 틈도 없이 공이 스크린 밖으로 사라져버리네요. 이 문제를 해결하기 위해 공이 캔버스의 4군데 모서리에 다달았을 때 튕겨나올 수 있도록 �

developer.mozilla.org

import pygame, sys  # 파이썬 게임 묘듈 import 
from pygame.locals import *

pygame.init() # 파이 게임 초기화 
screen = pygame.display.set_mode((480, 320)) #화면 크기 설정
pygame.display.set_caption('벽돌깨기') # 타이틀 제목


# 색깔 변수 
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 = 0.1
dy = -0.1

# draw 함수 정의
def drawBall():
	pygame.draw.circle(screen,(0, 221, 149),(int(x),int(y)),7)

def draw():
	screen.fill(BLACK)
	drawBall()

while True:
	# 이벤트 처리
	for event in pygame.event.get():
		if event.type == QUIT:
			pygame.quit()
			sys.exit()

	# 그리기 함수 호출
	draw()

	# 공과 벽돌 충돌 검사
	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()

결과는 ~~ 두둥

 

팅겼습니다. (믿으세요)

댓글