import sys from math import * from pyglet.gl import * window = pyglet.window.Window() class Circle: def __init__(self,radius,r,g,b,x=0,y=0): self.radius = radius self.r = r self.g = g self.b = b self.x = x self.y = y def draw(self): glColor3f(self.r,self.g,self.b) glPushMatrix() glTranslatef(self.x, self.y ,0) glBegin(GL_TRIANGLE_FAN) glVertex2f(0,0) for angle in range(0,370,10): x = self.radius * cos(radians(angle)) y = self.radius * sin(radians(angle)) glVertex2f(x,y) glEnd() glPopMatrix() def move_up(self): self.y += 10 def move_down(self): self.y -= 10 def move_left(self): self.x -= 10 def move_right(self): self.x += 10 c = Circle(50,1,0,0,300,300) @window.event def on_draw(): global c glClear(GL_COLOR_BUFFER_BIT) c.draw() @window.event def on_key_press(key, modifiers): global c if key == pyglet.window.key.UP: c.move_up() elif key == pyglet.window.key.DOWN: c.move_down() elif key == pyglet.window.key.RIGHT: c.move_right() elif key == pyglet.window.key.LEFT: c.move_left() pyglet.app.run()