Я довольно новичок в программировании, и недавно я решил начать Pygame. Основываясь на учебнике, которое я нашел, я создал эту игру. Цель состоит в том, чтобы наблюдать, как мяч отскакивает и держит его подальше от ящика внизу, щелкая в нужное время. Я знаю, что код немного грязный, но большая проблема заключается в том, что хотя код работает, игра не прекращается, как нужно, когда мяч и коробка касаются.Pygame, обнаруживающий столкновения между фотографиями
import sys, pygame
pygame.init()
size = width, height = 320, 240
speed = [2, 2]
black = 0, 0, 0
screen = pygame.display.set_mode(size)
ball = pygame.image.load("ball.bmp")
target = pygame.image.load("square_target.bmp")
ballrect = ball.get_rect()
clock = pygame.time.Clock()
target_place = [160, 200]
fps = 60
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT: sys.exit()
ballrect = ballrect.move(speed)
if ballrect.left < 0 or ballrect.right > width:
speed[0] = -speed[0]
if ballrect.top < 0 or ballrect.bottom > height:
speed[1] = -speed[1]
if pygame.mouse.get_pressed()[0]:
speed[0] = -speed[0]
if ballrect <= target_place[0] + 50 or ballrect <= target_place[1] + 50:
pygame.event.post(pygame.QUIT)
screen.fill(black)
screen.blit(ball, ballrect)
screen.blit(target, target_place)
pygame.display.flip()
fps += 0.01
print (fps)
clock.tick(fps)
Любая помощь?
замените 'while 1:' на 'while not done:' и установите 'done = True', когда произойдет ваше столкновение. – ninMonkey