Pygame Rect Collision

Я создаю игру Pong в Pygame с Python (очевидно), и я новичок в Pygame, поэтому хотел бы немного помочь с физикой: когда мяч касается ракетки, он меняет скорость и движется в противоположном направлении. Пока все работает, но когда мяч попадает на весло, он проходит сквозь него и не меняет направление. У меня все получилось, так что весла не покидают экран, и мяч меняет направление, когда встречается со стеной, а не когда мяч встречается с веслом. Любая помощь или советы будут оценены.

Мой класс весла:

class Paddle:    
    def __init__(self, x, y):    
        self.x = x
        self.y = y
        self.height = 40
        self.width = 10

    def draw(self, canvas):
         pygame.draw.rect(canvas, pygame.Color(0,0,255),(self.x,self.y,self.width,self.height))
    def contains(self, ptX, ptY):
        return self.x < ptX < self.x + self.width & self.y < ptY < self.y + self.height
    def overlaps(self, otherRectangle):
        return otherRectangle.colliderect(Rect(self.x,self.y,self.height, self.width))

Мой мяч класс

class Ball:
    def __init__(self, x, y):    
        #position of ball
        self.x = x
        self.y = y

        #speed of ball
        self.dx = 5
        self.dy = 5

        self.height = 10
        self.width = 10

    def draw(self, canvas):
        pygame.draw.rect(canvas, pygame.Color(0,255,0), (self.x,self.y,self.width,self.height))

    def reset(self):
        self.x = 320
        self.y = 240

        self.dx = -self.dx
        self.dy = 5

Моя цель состоит в том, чтобы скорость мяча была обратной (отрицательная скорость), когда он касается лопастей или отскакивает (перекрывающиеся точки).

Ответы на вопрос(1)

Ваш ответ на вопрос