import pygame, sys import math pygame.init() clock = pygame.time.Clock() screen = pygame.display.set_mode([1080,720]) speakertitan = pygame.image.load('speaker titan spin.png') x = 300 y = 300 run = True while run: pos = pygame.mouse.get_pos() x_dist = pos[0] - x y_dist = -(pos[0] - y) angle = math.degrees(math.atan2(y_dist,x_dist)) utsm = pygame.transform.rotate(speakertitan, angle - 90 ) screen.blit(utsm, (x, y)) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() screen.fill()