import pygame, math, random from pygame.locals import * import sys pygame.init() myscreen = pygame.display.set_mode((640,480)) r = random.randint speed = 10.0 korv = [] mouse = 0 class Korv(pygame.sprite.Sprite): def __init__(self, destination): pygame.sprite.Sprite.__init__(self) self.image = pygame.Surface((20,20)) self.image.fill( (r(0,255), r(0,255), r(0,255)) ) self.rect = self.image.get_rect() self.rect.center = (320,240) self.vector = GetVector(destination, self.rect.center) self.dest = destination def update(self): x, y = self.vector x = x * speed y = y * speed self.rect.centerx += x self.rect.centery += y def GetVector(pA, pB): px = pA[0] - pB[0] py = pA[1] - pB[1] factor = math.sqrt(px ** 2 + py ** 2) return (px / factor, py / factor) while 1: myscreen.fill([0, 0, 0]) pygame.time.delay(15) for b in korv: b.update() myscreen.blit(b.image, b.rect) pygame.display.update() for event in pygame.event.get(): if event.type == KEYDOWN: if event.key == K_ESCAPE: pygame.quit() sys.exit() if event.type == pygame.MOUSEBUTTONDOWN: mouse = 1 if event.type == pygame.MOUSEBUTTONUP: mouse = 0 if mouse and event.type == pygame.MOUSEMOTION: korv.append(Korv(pygame.mouse.get_pos()))