pygame碰撞检测出了问题?

最近自己练习编了个pygame的碰撞检测,但是出了问题(无法检测两个精灵发生碰撞),代码如下:

import pygame
from pygame.locals import *
import sys
import random

pygame.init()
screen = pygame.display.set_mode((1000, 700))


class Ball1(pygame.sprite.Sprite):
    def __init__(self, image, position, speed):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load(image)
        self.rect = self.image.get_rect()
        self.rect.left, self.rect.top = position
        self.speed = speed

    def move(self):
        self.rect.left += speed[0]
        self.rect.top += speed[1]
        if self.rect.left <= 0 or self.rect.right >= 1000:
            speed[0] = -speed[0]
        if self.rect.top <= 0 or self.rect.bottom >= 700:
            speed[1] = -speed[1]


class Ball2(pygame.sprite.Sprite):
    def __init__(self, image, position, speed):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load(image)
        self.rect = self.image.get_rect()
        self.rect.left, self.rect.top = position
        self.speed = speed

    def move(self):
        self.rect.left += speed2[0]
        self.rect.top += speed2[1]
        if self.rect.left <= 0 or self.rect.right >= 1000:
            speed2[0] = -speed2[0]
        if self.rect.top <= 0 or self.rect.bottom >= 700:
            speed2[1] = -speed2[1]


image1 = "ball1.png"
image2 = "ball2.png"
position = [random.randint(0, 600), random.randint(0, 500)]
position2 = [random.randint(0, 600), random.randint(0, 500)]
speed = [5, 5]
speed2 = [5, 5]

ball1 = Ball1(image1, position, speed)
ball2 = Ball2(image2, position2, speed2)

if pygame.sprite.collide_rect(ball1, ball2):
    print("已发生碰撞")

clock = pygame.time.Clock()
while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
    screen.fill((200, 200, 200))

    screen.blit(ball1.image, ball1.rect)
    screen.blit(ball2.image, ball2.rect)

    ball1.move()
    ball2.move()

    clock.tick(90)
    pygame.display.flip()

素材:

ball1.png
ball2.png

 

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答

本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。

​​​​因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。