我想在观看Youtube上的教程后使用pygame和pyopengl制作一个3D旋转立方体,但我一直收到错误。我使用终端安装了opengl。
这是代码
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 :(得分:1)
DOUBLEBUF在pygame中定义,所以你必须写:
pygame.DOUBLEBUF
您还可以将导入更改为:
from pygame import *