opengl es教程(四)键盘输入

简介

Keyboard Input 在许多程序种你需要处理键盘输入。本教程将解释如何捕获从键盘发来的消息。

如果您使用GLUT|ES, 请咨询 GLUT 如何使用OpenGL ES利用键盘输入。和本文的代码是类似的。另外,您可以下载此页面底部的源代码。GLUT|ES 库有个问题,整个屏幕被OpenGL ES 窗口占据。这个窗口隐藏了键盘弹出按钮。这很可能会导致您不常使用键盘输入。


第一步是建立一个函数,将用来处理所有键盘输入。此函数含有如下参数。

第一个参数必须接受一个ugwindow类型变量

第二个参数必须是整数。这表示哪个键被按下了。

第三个和第四个参数也必须是整数 。这表示当这个键被按下时,定点设备的x和y的值。

void keyboard(UGWindow uwin, int key, int x, int y)
{

我们检查哪个键按下

 switch(key)
{

您可以从下面的示例中比较出任何字母键值。如果一个小写q被按下,将会退出程序。

	case 'q' : exit(0); break;

特殊的键值也被列在下表中:

Identifier Description
UG_KEY_F1 - UG_KEY_F2 F1 through F12 keys.
UG_KEY_LEFT Left arrow
UG_KEY_RIGHT Right arrow
UG_KEY_UP Up arrow
UG_KEY_DOWN Down arrow
UG_KEY_PAGE_UP Page Up key
UG_KEY_PAGE_DOWN Page Down key
UG_KEY_HOME Home key
UG_KEY_END End key
UG_KEY_INSERT Insert key

下面,我们示范如果上箭头键按下退出程序.

	case UG_KEY_UP : exit(0); break;
	}
}

窗口需要知道我们用什么函数来处理按键因此我们按照ugDisplayFunc函数一样调用 ugKeyboardFunc函数。 这个函数使用 OpenGL 窗口的句柄作为它的第一个参数,keyboard 函数作为它的第二个参数。

	ugKeyboardFunc(uwin, keyboard);

你现在应该能处理键盘消息了。如果你运行这个程序,你还是看不到任何图像,但是你可以通过按q键或者向上键退出程序。

Please let me know of any comments you may have : Contact Me

GLUT|ES Source Files : Embedded Visual C++ 4.0 
UG Source Files : Embedded Visual C++ 4.0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值