Skip to content

Instantly share code, notes, and snippets.

@davepape
Created September 26, 2013 15:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save davepape/6715432 to your computer and use it in GitHub Desktop.
Save davepape/6715432 to your computer and use it in GitHub Desktop.
keyboard input with pyglet
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.r = r
self.g = g
self.b = b
self.x = x
self.y = y
verts = [0,0]
for angle in range(0,370,10):
x = radius * cos(radians(angle))
y = radius * sin(radians(angle))
verts = verts + [x,y]
self.vlist = pyglet.graphics.vertex_list(len(verts)/2, ('v2f',verts))
def draw(self):
glColor3f(self.r,self.g,self.b)
glPushMatrix()
glTranslatef(self.x, self.y ,0)
self.vlist.draw(GL_TRIANGLE_FAN)
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()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment