import pygame import math class Knob: def __init__(self, screen): self.screen = screen self.radius = screen.get_width()/20 self.fill_color = (255,0,255) self.position = (screen.get_width()/2, screen.get_height()/2) self.value = 0.1 def set_value(self, value): self.value = value def get_pointer_position(self): x = self.radius * math.cos((self.value * 2 + 0.5) * math.pi) + self.position[0] y = self.radius * math.sin((self.value * 2 + 0.5) * math.pi) + self.position[1] return(x, y) def display(self): pygame.draw.circle(self.screen, self.fill_color, self.position, self.radius) pygame.draw.line(self.screen, "black", self.position, self.get_pointer_position(), 3)