2008/05/04

glutCreateMenu

glutCreateMenuを実行するとエラーになるのですが、その意味が分かりません。OpenGLが標準でサポートするのは通常マウスの右ボタンに設定するポップアップメニューだけなのですが、これの使い方がわからないのです。本やWebで見つかるにCのサンプルがPythonでは動きません。当面メニュー無しでやります。解決策をご存じの方はぜひ教えて下さい。

glutCreateMenu doesn't work on my Python environment using some example codes I can find in bookes and web written in C language. I should continue larning OpenGL without using popup menus. If you have any suggestion, please let me know.

###Error Message
Traceback (most recent call last):
File "C:/Python25/menu.py", line 28, in
glutCreateMenu(mymenu)
File "C:\Python25\Lib\site-packages\OpenGL\GLUT\special.py", line 169, in glutCreateMenu
result = simple.glutCreateMenu( cCallback )
ArgumentError: argument 1: : expected WinFunctionType instance instead of WinFunctionType

### Sourece cose

import sys
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

def display():
glClear( GL_COLOR_BUFFER_BIT )
glBegin(GL_POLYGON)
glVertex2f(-0.5, -0.5)
glVertex2f(-0.5, 0.5)
glVertex2f(0.5, 0.5)
glVertex2f(0.5, -0.5)
glEnd()

def mymenu(value):
if value == 1:
glClear(GL_COLOR_BUFFERF_BIT)
if value == 2:
sys.exit()

glutInit( sys.argv )
glutInitDisplayMode( GLUT_SINGLE | GLUT_RGB )
glutInitWindowSize( 500, 500 )
glutInitWindowPosition(0,0)
glutCreateWindow( 'simple' )
glutDisplayFunc( display )

glutCreateMenu(mymenu)
glutAddMenuEntry("clear",1)
glutAddMenuEntry("exit",2)
glutAttachMenu(GLUT_RIGHT_BUTTON)

glutMainLoop()

0 件のコメント: