2016-04-18 25 views
0

Ich möchte einen 3D-Drehwürfel mit Pygame und Pyopengl nach dem Anschauen eines Tutorials auf Youtube machen, aber ich bekomme immer einen Fehler. Ich habe opengl mit meinem Terminal installiert.pyOpenGL wird nicht funktionieren

hier ist der Code

from OpenGL.GL import * 
from OpenGL.GLU import * 
import pygame 


sharps=(
    (1,1,-1), 
    (-1,1,-1), 
    (-1,-1,-1), 
    (1,-1,-1), 
    (1,1,1), 
    (-1,1,1), 
    (-1,-1,1), 
    (1,-1,1) 
    ) 
lines=(
    (0,1), 
    (1,2), 
    (2,3), 
    (3,0), 
    (0,4), 
    (4,5), 
    (5,6), 
    (6,7), 
    (7,4), 
    (5,1), 
    (6,2), 
    (7,3) 
    ) 

def cube(): 
    glBegin(GL_LINES) 
    for x in lines: 
     for y in x: 
      glVertex3fv(sharps[y]) 
    glEnd() 



def main(): 
    pygame.init() 
    x=800 
    y=600 
    window=pygame.display.set_mode((x,y), DOUBLEBUF|OPENGL) 
    gluPerspective(45,(x/y),0.1,50.0) 
    glTranslatef(0.0,0.0,-5) 
    glRotatef(0,0,0,0) 

    true = True 
    while true: 
    for i in pygame.event.get(): 
     if i.type==pygame.QUIT: 
      true=False 

    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT) 
    cube() 
    pygame.display.flip() 
    pygame.time.wait(10) 

try: 
    main() 
except Exception, e: 
    print e 

und der Fehler

globalen Namen 'DOUBLEBUF' ist nicht

i scheinen nicht zu verstehen, wo das Problem liegen definiert, ich meine, es hat für den Kerl in youtube funktioniert. Bitte helfen

+0

sind mit Python 2.7 –

Antwort

1

DOUBLEBUF ist def ined in pygame, so dass Sie schreibt:

pygame.DOUBLEBUF 

Sie auch Ihren Import ändern könnten:

from pygame import * 
+0

Vielen Dank soo viel. Ich hatte eine frustrierende Woche, um es herauszufinden. –

Verwandte Themen