我正在尝试学习游戏编程的基础知识,为此我已经安装了pygame
和pyopengl
。
MyCode:
import sys
import OpenGL
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
def draw():
glClear(GL_COLOR_BUFFER_BIT)
glutWireTeapot(0.5)
glFlush()
glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB)
glutInitWindowSize(250, 250)
glutInitWindowPosition(100, 100)
glutCreateWindow("Python OGL Program")
glutDisplayFunc(draw)
glutMainLoop()
draw()
当我在命令提示符中使用以下命令运行上述代码时
python test.py
我得到以下错误。
Traceback (most recent call last):
File "test.py", line 13, in <module>
glutInit(sys.argv)
File "C:\Python27\lib\site-packages\pyopengl-3.0.2a5-py2.7.egg\OpenGL\GLUT\special.py", line 324, in glutInit
_base_glutInit( ctypes.byref(count), holder )
TypeError: 'NoneType' object is not callable
我不明白为什么我会得到这个错误。我调用glutinit
的方式是错误的吗?
我使用的是Python 2.7.2。
发布于 2012-04-21 19:03:38
问题出在我的PyOpenGL
安装上。之前我是用easy_install
安装的。
因此,正如@Ferdinand建议的那样,您的pyopengl安装似乎有问题。
我使用python setup.py install
做了一次干净的安装,它工作了。
发布于 2012-05-29 18:59:29
我在64位的Windows7上使用Python 2.7.3,遇到了一个问题,导致了与Noob相同的症状。
但是上面的PyOpenGL重装解决方案对我没有帮助。
我尝试了一个长镜头--安装freeglut --它很有帮助!
我使用了来自here的Windows MSVC 2.8.0二进制包,并相应地将32位和64位DLL放到了32位目录(c:\Windows\SysWOW64)和64位目录(C:\Windows\System32)中。
发布于 2012-06-29 20:38:50
似乎你必须下载glut或freeglut以及pyOpenGL。最重要的是,在我的64位Win7系统上,它只在我将glut32.dll
文件放入C:\Windows\System
(而不是C:\Windows\System32
--将其放入\System32
中时不起作用!)
这里有一个glut的链接:http://user.xmission.com/~nate/glut.html
和freeglut:http://www.transmissionzero.co.uk/software/freeglut-devel/
https://stackoverflow.com/questions/10188595
复制相似问题