Если вы хотите, чтобы изображение слегка перемещалось в направлении мыши, то вам нужно добавить вектор к текущей позиции изображения, которая указывает в направлении мыши.Длина должна быть меньше, чем расстояние до мыши:
dx, dy = (x - self.x), (y - self.y)
self.x, self.y = self.x + dx * 0.1, self.y + dy * 0.1
, поэтому шарик делает маленький шаг к мышке в каждом кадре.
class Cat(object):
def __init__(self):
self.image = pygame.image.load('ball.png')
self.x = 1
self.y = 1
self.t = 0.1
def draw(self, surface):
mosx = 0
mosy = 0
x,y = pygame.mouse.get_pos()
dx, dy = (x - self.x), (y - self.y)
self.x, self.y = self.x + dx * self.t, self.y + dy * self.t
w, h = self.image.get_size()
surface.blit(self.image, (self.x - w/2, self.y - h/2))
pygame.display.update()