openglvrchat键鼠按键有哪些组合按键

GLUT允许我们编写程序在里面加入鍵盘输入控制,包括了普通键和其他特殊键(如F1,UP)。在这一章里我们将学习如何去检测哪个键被按下可以从GLUT里得到些什么信息,和如哬处理键盘输入 
处理按键消息,我们必须使用GLUT通知窗口系统当某个键被按下时,哪个函数将完成所要求的操作我们同样是调用一个函数注册相关的回调函数。 
当你按下一个键后GLUT提供了两个函数为这个键盘消息注册回调。第一个是glutKeyboardFunc这个函数是告诉窗口系统,哪一个函数将会被调用来处理普通按键消息 普通键是指字母,数字和其他可以用ASCII代码表示的键。函数原型如下: 
func: 处理普通按键消息的函数的洺称如果传递NULL,则表示GLUT忽略普通按键消息 
这个作为glutKeyboardFunc函数参数的函数需要有三个形参。第一个表示按下的键的ASCII码其余两个提供了,当鍵按下时当前的鼠标位置鼠标位置是相对于当前客户窗口的左上角而言的。 

下面让我们控制特殊键的按键消息GLUT提供函数glutSpecialFunc以便当有特殊鍵按下的消息时,你能注册你的函数函数原型如下: 
func: 处理特殊键按下消息的函数的名称。传递NULL则表示GLUT忽略特殊键消息 
下面我们写一个函数,当一些特殊键按下的时候改变我们的三角形的颜色。这个函数使在按下F1键时三角形为红色按下F2键时为绿色,按下F3键时为蓝色 


為了让上面processSpecialKeys函数能过编译通过,我们还必须定义red,greenblue三个变量。此外为了得到我们想要的结果我们还必须修改renderScene函数。 

// 所有的变量被初始化为1表明三角形最开始是白色的。

注意如果我们按下R键将不会有什么发生,因为R与r键的ASCII码不同即这是两个不同的键。最后就是如哬检测按键CTRL+ALT+F1?这种情况下,我们必须同时检测两个组合键为了完成操作我们需要使用或操作符。下面的代码段使你按下CTRL+ALT+F1时颜色改变为紅色。 

我要回帖

更多关于 vrchat键鼠按键有哪些 的文章

 

随机推荐