class DragDropSprite(MouseClickSprite): def __init__(self): MouseClickSprite.__init__(self) self.dragging = False def is_clicked(self, event): if self.rect.collidepoint(event.pos) and event.button == 1: return True return False def clicked(self, event): if event.type == pygame.MOUSEBUTTONDOWN: self.dragging = True self.drag_offset = (self.position[0] - event.pos[0], self.position[1] - event.pos[1]) else: self.dragging = False def update(self): if self.dragging: self.position = (Mouse.get_pos()[0] + self.drag_offset[0], Mouse.get_pos()[1] + self.drag_offset[1])