Share Pastebin
Guest
Public paste!

pyglet for dado: opengl ahoy! good luck!

By: a guest | Mar 20th, 2010 | Syntax: Python | Size: 1.36 KB | Hits: 72 | Expires: Never
Copy text to clipboard
  1. import pyglet
  2.  
  3. # stvori prozor defaultne veličine
  4. window = pyglet.window.Window()
  5.  
  6. # definiraj funkciju koja će biti pozvana svaki puta
  7. # kada pyglet odluči da se na ekranu nešto mora nacrtati
  8. # (this will probably happen every time you drag or
  9. #  obscure the window by other windows, or even just
  10. #  60 times every second - who knows, doesn't matter).
  11. @window.event
  12. def on_draw():
  13.     # obriši cijeli prozor (paint it black)
  14.     window.clear()
  15.    
  16.     # nacrtaj liniju pomoću dvije točke, gdje je prva
  17.     # u donjem lijevom kutu (10,15), a druga je
  18.     # definirana putem globalnih varijabli x i y
  19.     pyglet.graphics.draw(2, pyglet.gl.GL_LINES,
  20.         ('v2i', (10, 15, x, y))
  21.     )
  22.  
  23. x, y = 20, 20 # globalne varijable, označuju kraj linije
  24.    
  25. # ovu ćemo funkciju pozivati svaku ~desetinu sekunde,
  26. # dok će argument dt biti točan iznos vremena proteklog
  27. # od zadnjeg poziva funkcije. (odnosno, dt će težiti
  28. # jednoj desetini sekunde, ali zbog OS-specific stuff
  29. # it may be smaller or larger. usually you don't have
  30. # to worry about it.)
  31. def povecaj_liniju(dt):
  32.     global x, y # x i y se odnose na globalne varijable
  33.     x, y = x+1, y+1 # uvećavamo ih
  34.  
  35. # svaku desetinu sekunde pozovi povecaj_liniju(delta_t)
  36. pyglet.clock.schedule_interval(povecaj_liniju, 0.1)
  37.  
  38. # pokreni pyglet-aplikaciju opisanu gornjim funkcijama
  39. pyglet.app.run()