Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用键盘FUNC(键盘)执行操作?_Python_Opengl_Glut_Pyopengl_Opengl Compat - Fatal编程技术网

Python 如何使用键盘FUNC(键盘)执行操作?

Python 如何使用键盘FUNC(键盘)执行操作?,python,opengl,glut,pyopengl,opengl-compat,Python,Opengl,Glut,Pyopengl,Opengl Compat,以下是我的代码: 导入系统 导入pygame 茶点列表=无 def loadTexture(甘巴): textureSurface=pygame.image.load(甘巴)\ ... def gambarMeja(): glDisable(GLU照明) glEnable(GL_纹理_2D) glBindTexture(GL_TEXTURE_2D,loadTexture('Batik.jpg')) glPushMatrix() GLTRANSTEF(15.0,5.0,1.0) glRotatef

以下是我的代码:

导入系统 导入pygame 茶点列表=无 def loadTexture(甘巴): textureSurface=pygame.image.load(甘巴)\ ... def gambarMeja(): glDisable(GLU照明) glEnable(GL_纹理_2D) glBindTexture(GL_TEXTURE_2D,loadTexture('Batik.jpg')) glPushMatrix() GLTRANSTEF(15.0,5.0,1.0) glRotatef(-15,0,1,0) glRotatef(20,1,0,0) glBegin(GLU四边形) .. def mejaTV(): 甘巴梅加() def display(): .. mejaTV() 甘巴里马里() def键盘(键,x,y): 如果key==chr(27): sys.exit() #主回路 如果名称=“\uuuuu main\uuuuuuuu”: .. glutDisplayFunc(显示) 键盘功能(键盘) glutMainLoop() 我想用一个动作来改变我的照片 对于此代码:
glBindTexture(GL\u TEXTURE\u 2D,loadTexture('Batik.jpg'))
我想通过按下
p
按钮,通过键盘操作将图片更改为
glBindTexture(GL\u TEXTURE\u 2D,loadTexture('persona.jpg'))
。代码正在使用
def键盘(键,x,y):

你能帮我解决这个问题吗?

OpenGL是一个状态引擎。状态会一直保持,直到再次更改为止

在globale名称空间中添加变量
tob_batik
tob_persona
tob_current

tob_batik=无
tob_persona=无
tob_电流=无
def loadTexture(甘巴):
textureSurface=pygame.image.load(甘巴)
# [...]
在调用
glutMainLoop()
之前加载2个纹理

#主回路
如果名称=“\uuuuu main\uuuuuuuu”:
# [...]
键盘功能(键盘)
tob_batik=loadTexture('batik.jpg'))
tob_persona=loadTexture('persona.jpg')
tob_电流=tob_蜡染
glutMainLoop()
根据按键(b或p)的不同,将
更改为当前值

def键盘(键,x,y):
全球托布电流
如果key==chr(27):
sys.exit()
elif键==b'b':
tob_电流=tob_蜡染
elif键==b'p':
tob_current=tob_persona
再发现
tob_current
绑定到
gambarMeja
中:

def gambarMeja():
glDisable(GLU照明)
glEnable(GL_纹理_2D)
glBindTexture(GL_纹理_2D,tob_当前)
# [...]