실행을 시켜보면 공이 방향키로 움직일수 있는데요...(아직은 미완성)
저 공이 계속 화면으로 넘어가는걸 막을 수 있을까요?
%%code%%
import pygame
pygame.init()
x = 300
y = 400
screen = pygame.display.set_mode((y, x), 0, 32)
pygame.display.set_caption("ball")
WHITE = (255, 255, 255)
ball = pygame.image.load('ball.png')
ballx = 150
bally = 100
ballSize = ball.get_rect().size
ballWidth = ballSize[0]
ballHeight = ballSize[1]
ballXpos = (y / 2) - (ballWidth / 2)
ballYpos = x - ballHeight
done=False
while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done=True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_RIGHT:
ballx+=5
elif event.key == pygame.K_LEFT:
ballx-=5
elif event.key == pygame.K_UP:
bally-=5
elif event.key == pygame.K_DOWN:
bally+=5
screen.fill(WHITE)
screen.blit(ball, (ballx, bally))
pygame.display.flip()
- elif event.key == pygame.K_DOWN: bally+=5 ((( ))) ((( 여기에 화면크기를 넘어가는 x,y값일경우 해당값을 고정하는 if 문을 넣으면 됩니다 ))) screen.fill(WHITE) screen.blit(ball, (ballx, bally))
위에 적었듯이 저 부분에 if 문을 사용해서 ballx 와 bally 의 좌표를 조정해주면됩니다
예를 들어 if ballx > 40: ballx=40 이런식으로 하시면 됩니다
또한 -값도 나올수 있으니 if ballx < 1: ballx=1 이렇게 음수값 나오는것에 대해서도 대비를 해줘야 합니다
이걸 토대로 한번 다시 코딩 시도해보세요^^