for event in pygame.event.get(): if event.type == QUIT: logger.info("Going away!") pygame.quit() sys.exit() elif event.type == MOUSEBUTTONDOWN: if event.button == 3: # right button throwing_disk = get_disk_from_surface_point(event.pos, world, renderer) if throwing_disk is not None: # inside a disk throwing = True throwing_start = renderer.worldToSurfaceCoord(throwing_disk.center) elif event.button == 2: # middle button d = get_disk_from_surface_point(event.pos, world, renderer) if d is None: d1.center = renderer.surfaceToWorldCoord(event.pos) if d1.visuals is not None and d1.visuals.trail is not None: d1.visuals.trail.clear() d1.velocity = Vector(0, 0) elif event.button == 1: # left button dragging_disk = get_disk_from_surface_point(event.pos, world, renderer) if dragging_disk is not None: p = renderer.surfaceToWorldCoord(event.pos) dragging_offset = p - dragging_disk.center dragging_disk.velocity = Vector(0, 0) else: # outside both disks. start panning panning = True panning_start = event.pos elif event.button == 4: # scroll up camera.zoom(0.1)