J'ai codé une animation (en python) pour faire rebondir un ballon de plage autour d'un écran. Je souhaite maintenant ajouter une deuxième balle à la fenêtre, et quand les deux entrent en collision pour qu'ils se rebondissent les uns les autres.Comment ajouter une deuxième balle rebondissante à la fenêtre?
Jusqu'ici, mes tentatives ont été infructueuses. Des idees pour faire cela? Le code que j'ai jusqu'ici est ci-dessous.
import pygame
import sys
if __name__ =='__main__':
ball_image = 'Beachball.jpg'
bounce_sound = 'Thump.wav'
width = 800
height = 600
background_colour = 0,0,0
caption= 'Bouncing Ball animation'
velocity = [1,1]
pygame.init()
frame = pygame.display.set_mode ((width, height))
pygame.display.set_caption (caption)
ball= pygame.image.load (ball_image). convert()
ball_boundary = ball.get_rect (center=(300,300))
sound = pygame.mixer.Sound (bounce_sound)
while True:
for event in pygame.event.get():
print event
if event.type == pygame.QUIT: sys.exit(0)
if ball_boundary.left < 0 or ball_boundary.right > width:
sound.play()
velocity[0] = -1 * velocity[0]
if ball_boundary.top < 0 or ball_boundary.bottom > height:
sound.play()
velocity[1] = -1 * velocity[1]
ball_boundary = ball_boundary.move (velocity)
frame.fill (background_colour)
frame.blit (ball, ball_boundary)
pygame.display.flip()
Vous venez de refactoriser l'introduction de pygame. http://www.pygame.org/docs/tut/intro/intro.html –
Avez-vous vraiment besoin de passer pygame à la fonction __init__? – tgray
@tgray: Je l'ai fait de cette façon d'utiliser le même code que l'exemple autant que possible. En pensant que cela pourrait faciliter la compréhension de l'OP –