1

我有“glutKeyboardFunc(键盘);” 在我的主要功能中,我如何检测用户何时按下“逗号”或句号。按下逗号时,我想在 XZ 平面上向左移动(扫射)一段距离。并在按下句号时在 XZ 平面中向右移动。当前代码没有响应。

 if(key==GLUT_KEY_UP)
{
  eyez = eyez + RUN_SPEED;
}
else if(key==GLUT_KEY_DOWN)
{
  eyez = eyez - RUN_SPEED;
}
else if(key==',')
{
  eyex = eyex - RUN_SPEED;
}
else if(key=='.')
{
  eyex = eyex - RUN_SPEED;
}
4

2 回答 2

1

glutKeyboardFunc()回调仅适用于 ASCII 类型的键。我很惊讶您会从中获得箭头键事件。

glutSpecialFunc()为非 ASCII 键创建回调。

于 2013-02-11T19:45:32.880 回答
1

亲爱的在 COMP27112 注册的 UoM 同学,您在这里需要的是逗号和点的 ASCII 代码。

分别是 44 和 46。

case 44:
  // Comma
  break;
case 46:
  // Dot
  break;
于 2016-02-16T19:36:25.593 回答