2016-04-18 2 views
0

Я хочу сделать 3d вращающийся куб, используя pygame и pyopengl после просмотра учебника на Youtube, но я продолжаю получать ошибку. Я установил opengl, используя мой терминал.pyOpenGL не работает

здесь код

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 

и ошибка

глобальное имя 'DOUBLEBUF' не определен

я не кажется, чтобы понять, где проблема лжи, я имею в виду он работал на парня в youtube.Пожалуйста, помогите

+0

Я использую Python 2.7 –

ответ

1

DOUBLEBUF is def INED в Pygame, так что вы должны написать:

pygame.DOUBLEBUF 

Вы также можете изменить свой импорт в:

from pygame import * 
+0

Спасибо Су много. У меня была разочаровывающая неделя, пытаясь понять это. –

Смежные вопросы