Ich habe eine Animation (in Python) für einen Strandball um einen Bildschirm hüpfen codiert. Ich möchte jetzt einen zweiten Ball zum Fenster hinzufügen, und wenn die beiden kollidieren, um sich gegenseitig abzuprallen.Wie füge ich einen zweiten springenden Ball zum Fenster hinzu?
Bisher waren meine Versuche damit nicht erfolgreich. Irgendwelche Ideen wie man das macht? Der Code, den ich bisher habe, ist unten.
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()
Sie haben gerade die pygame-Einführung umstrukturiert. http://www.pygame.org/docs/tut/intro/intro.html –
Müssen Sie wirklich pygame an die Funktion __init__ übergeben? – tgray
@tgray: Ich habe es so gemacht, den gleichen Code wie das Beispiel so oft wie möglich zu verwenden. In dem Denken, dass es das OP leichter machen könnte zu verstehen –